BEAST/BSE - Better Audio System and Sound Engine
0.8.2
|
00001 // Licensed GNU LGPL v2.1 or later: http://www.gnu.org/licenses/lgpl.html 00002 #ifndef __GXK_MENU_BUTTON_H__ 00003 #define __GXK_MENU_BUTTON_H__ 00004 00005 #include "gxkutils.hh" 00006 #include "gxkassortment.hh" 00007 00008 G_BEGIN_DECLS 00009 00010 /* --- type macros --- */ 00011 #define GXK_TYPE_MENU_BUTTON (gxk_menu_button_get_type ()) 00012 #define GXK_MENU_BUTTON(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_MENU_BUTTON, GxkMenuButton)) 00013 #define GXK_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_MENU_BUTTON, GxkMenuButtonClass)) 00014 #define GXK_IS_MENU_BUTTON(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_MENU_BUTTON)) 00015 #define GXK_IS_MENU_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_MENU_BUTTON)) 00016 #define GXK_MENU_BUTTON_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_MENU_BUTTON, GxkMenuButtonClass)) 00017 typedef enum 00018 { 00019 GXK_MENU_BUTTON_TOOL_MODE = 1, /* ---image--- [label] | arrow */ 00020 GXK_MENU_BUTTON_COMBO_MODE, /* [image] label--- | arrow */ 00021 GXK_MENU_BUTTON_OPTION_MODE, /* ---(image,label)--- | arrow */ 00022 GXK_MENU_BUTTON_POPUP_MODE, /* right arrow */ 00023 } GxkMenuButtonMode; 00024 typedef struct { 00025 GtkEventBox parent_instance; 00026 GtkWidget *islot, *cslot, *fframe, *button; 00027 GtkMenu *menu; 00028 GtkWidget *menu_item, *image, *child; 00029 GdkWindow *bwindow; 00030 gchar *assortment_name; 00031 GxkAssortment *assortment_object; 00032 gint icon_size, old_icon_size; 00033 gint width, height; 00034 GxkMenuButtonMode mode; 00035 GtkReliefStyle relief; 00036 } GxkMenuButton; 00037 typedef GtkEventBoxClass GxkMenuButtonClass; 00038 GType gxk_menu_button_get_type (void); 00039 void gxk_menu_button_update (GxkMenuButton *self); 00040 00041 00042 G_END_DECLS 00043 00044 #endif /* __GXK_MENU_BUTTON_H__ */