summaryrefslogtreecommitdiff
path: root/endless/eosactionbutton.h
blob: a68a89a45df2c932dd60b570e4b377fa993224e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
/* Copyright 2013 Endless Mobile, Inc. */

#ifndef EOS_ACTION_BUTTON_H
#define EOS_ACTION_BUTTON_H

#include "eostypes.h"

#include <gtk/gtk.h>

G_BEGIN_DECLS

#define EOS_TYPE_ACTION_BUTTON eos_action_button_get_type()

#define EOS_ACTION_BUTTON(obj) \
  (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
  EOS_TYPE_ACTION_BUTTON, EosActionButton))

#define EOS_ACTION_BUTTON_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_CAST ((klass), \
  EOS_TYPE_ACTION_BUTTON, EosActionButtonClass))

#define EOS_IS_ACTION_BUTTON(obj) \
  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
  EOS_TYPE_ACTION_BUTTON))

#define EOS_IS_ACTION_BUTTON_CLASS(klass) \
  (G_TYPE_CHECK_CLASS_TYPE ((klass), \
  EOS_TYPE_ACTION_BUTTON))

#define EOS_ACTION_BUTTON_GET_CLASS(obj) \
  (G_TYPE_INSTANCE_GET_CLASS ((obj), \
  EOS_TYPE_ACTION_BUTTON, EosActionButtonClass))

typedef struct _EosActionButton EosActionButton;
typedef struct _EosActionButtonClass EosActionButtonClass;
typedef struct _EosActionButtonPrivate EosActionButtonPrivate;

/**
 * EosActionButton:
 *
 * This class structure contains no public members.
 */
struct _EosActionButton
{
  GtkButton parent;

  EosActionButtonPrivate *priv;
};

struct _EosActionButtonClass
{
  GtkButtonClass parent_class;

  /* For further expansion */
  gpointer _padding[8];
};

EOS_SDK_ALL_API_VERSIONS
GType               eos_action_button_get_type           (void) G_GNUC_CONST;

EOS_SDK_ALL_API_VERSIONS
GtkWidget          *eos_action_button_new                (EosActionButtonSize size,
                                                          const gchar        *label,
                                                          const gchar        *icon_id);

EOS_SDK_ALL_API_VERSIONS
void                eos_action_button_set_size           (EosActionButton    *button,
                                                          EosActionButtonSize size);

EOS_SDK_ALL_API_VERSIONS
EosActionButtonSize eos_action_button_get_size           (EosActionButton    *button);

EOS_SDK_ALL_API_VERSIONS
void                eos_action_button_set_label          (EosActionButton    *button,
                                                          const gchar        *label);

EOS_SDK_ALL_API_VERSIONS
const gchar        *eos_action_button_get_label          (EosActionButton    *button);

EOS_SDK_ALL_API_VERSIONS
void                eos_action_button_set_label_position (EosActionButton    *button,
                                                          GtkPositionType     position);

EOS_SDK_ALL_API_VERSIONS
GtkPositionType     eos_action_button_get_label_position (EosActionButton    *button);

EOS_SDK_ALL_API_VERSIONS
void                eos_action_button_set_icon_id        (EosActionButton    *button,
                                                          const gchar        *icon_id);

EOS_SDK_ALL_API_VERSIONS
const gchar        *eos_action_button_get_icon_id (EosActionButton    *button);

G_END_DECLS

#endif /* EOS_ACTION_BUTTON_H */