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_CELL_RENDERER_POPUP_H__ 00003 #define __GXK_CELL_RENDERER_POPUP_H__ 00004 00005 #include <gxk/gxkutils.hh> 00006 #include <gtk/gtkcellrenderertext.h> 00007 #include <gtk/gtkeventbox.h> 00008 00009 G_BEGIN_DECLS 00010 00011 /* --- type macros --- */ 00012 #define GXK_TYPE_CELL_RENDERER_POPUP (gxk_cell_renderer_popup_get_type ()) 00013 #define GXK_CELL_RENDERER_POPUP(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_CELL_RENDERER_POPUP, GxkCellRendererPopup)) 00014 #define GXK_CELL_RENDERER_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_CELL_RENDERER_POPUP, GxkCellRendererPopupClass)) 00015 #define GXK_IS_CELL_RENDERER_POPUP(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_CELL_RENDERER_POPUP)) 00016 #define GXK_IS_CELL_RENDERER_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_CELL_RENDERER_POPUP)) 00017 #define GXK_CELL_RENDERER_POPUP_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_CELL_RENDERER_POPUP, GxkCellRendererPopupClass)) 00018 00019 00020 /* --- structures & typedefs --- */ 00021 typedef struct { 00022 GtkCellRendererText parent_instace; 00023 GtkWidget *dialog, *entry; 00024 guint text_editing : 1; 00025 guint popup_editing : 1; 00026 guint auto_popup : 1; 00027 } GxkCellRendererPopup; 00028 typedef struct { 00029 GtkCellRendererTextClass parent_class; 00030 void (*popup) (GxkCellRendererPopup *cell, 00031 const gchar *path, 00032 const gchar *text); 00033 } GxkCellRendererPopupClass; 00034 00035 00036 /* --- functions --- */ 00037 GType gxk_cell_renderer_popup_get_type (void); 00038 void gxk_cell_renderer_popup_dialog (GxkCellRendererPopup *popup, 00039 GtkWidget *dialog); 00040 void gxk_cell_renderer_popup_change (GxkCellRendererPopup *popup, 00041 const gchar *text, 00042 gboolean preserve_popup, 00043 gboolean keep_editing); 00044 00045 00046 /* --- type macros --- */ 00047 #define GXK_TYPE_PROXY_EDITABLE (gxk_proxy_editable_get_type ()) 00048 #define GXK_PROXY_EDITABLE(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GXK_TYPE_PROXY_EDITABLE, GxkProxyEditable)) 00049 #define GXK_PROXY_EDITABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GXK_TYPE_PROXY_EDITABLE, GxkProxyEditableClass)) 00050 #define GXK_IS_PROXY_EDITABLE(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GXK_TYPE_PROXY_EDITABLE)) 00051 #define GXK_IS_PROXY_EDITABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GXK_TYPE_PROXY_EDITABLE)) 00052 #define GXK_PROXY_EDITABLE_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS ((object), GXK_TYPE_PROXY_EDITABLE, GxkProxyEditableClass)) 00053 00054 00055 /* --- structures & typedefs --- */ 00056 typedef struct { 00057 GtkEventBox parent_instace; 00058 GtkCellEditable *ecell; 00059 guint8 block_start_editing; 00060 guint8 block_remove_widget; 00061 guint8 block_editing_done; 00062 } GxkProxyEditable; 00063 typedef struct { 00064 GtkEventBoxClass parent_class; 00065 } GxkProxyEditableClass; 00066 00067 00068 /* --- functions --- */ 00069 GType gxk_proxy_editable_get_type (void); 00070 void gxk_proxy_editable_set_cell_editable (GxkProxyEditable *self, 00071 GtkCellEditable *ecell); 00072 00073 00074 G_END_DECLS 00075 00076 #endif /* __GXK_CELL_RENDERER_POPUP_H__ */