BEAST - Free Software Audio Synthesizer and Tracker  0.9.2
gxkmenubutton.hh
Go to the documentation of this file.
1  // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html
2 #ifndef __GXK_MENU_BUTTON_H__
3 #define __GXK_MENU_BUTTON_H__
4 
5 #include "gxkutils.hh"
6 #include "gxkassortment.hh"
7 
8 G_BEGIN_DECLS
9 
10 /* --- type macros --- */
11 #define GXK_TYPE_MENU_BUTTON (gxk_menu_button_get_type ())
12 #define GXK_MENU_BUTTON(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_MENU_BUTTON, GxkMenuButton))
13 #define GXK_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_MENU_BUTTON, GxkMenuButtonClass))
14 #define GXK_IS_MENU_BUTTON(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_MENU_BUTTON))
15 #define GXK_IS_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_MENU_BUTTON))
16 #define GXK_MENU_BUTTON_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_MENU_BUTTON, GxkMenuButtonClass))
17 typedef enum
18 {
19  GXK_MENU_BUTTON_TOOL_MODE = 1, /* ---image--- [label] | arrow */
20  GXK_MENU_BUTTON_COMBO_MODE, /* [image] label--- | arrow */
21  GXK_MENU_BUTTON_OPTION_MODE, /* ---(image,label)--- | arrow */
22  GXK_MENU_BUTTON_POPUP_MODE, /* right arrow */
23 } GxkMenuButtonMode;
24 typedef struct {
25  GtkEventBox parent_instance;
26  GtkWidget *islot, *cslot, *fframe, *button;
27  GtkMenu *menu;
28  GtkWidget *menu_item, *image, *child;
29  GdkWindow *bwindow;
30  gchar *assortment_name;
31  GxkAssortment *assortment_object;
32  gint icon_size, old_icon_size;
33  gint width, height;
34  GxkMenuButtonMode mode;
35  GtkReliefStyle relief;
37 typedef GtkEventBoxClass GxkMenuButtonClass;
38 GType gxk_menu_button_get_type (void);
39 void gxk_menu_button_update (GxkMenuButton *self);
40 
41 
42 G_END_DECLS
43 
44 #endif /* __GXK_MENU_BUTTON_H__ */
Definition: gxkassortment.hh:33
Definition: gxkmenubutton.hh:24