00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00029 #ifndef __INFO_ITEM_H__
00030 #define __INFO_ITEM_H__
00031
00032 #define INFOITEM_BORDER_TOP 10
00033 #define INFOITEM_BORDER_BOTTOM 10
00034 #define INFOITEM_BORDER_LEFT 20
00035 #define INFOITEM_BORDER_RIGHT 13
00036
00037 #define INFOITEM_REQ_WIDTH 666
00038 #define INFOITEM_REQ_HEIGHT 115
00039
00040 #define INFOITEM_BUTTON_WIDTH 100
00041 #define INFOITEM_BUTTON_HEIGHT 27
00042
00043
00044 #define INFOITEM_HBOX_SPACING 20
00045
00046 #define INFOITEM_ICON_IMG_WIDTH 75
00047 #define INFOITEM_ICON_IMG_HEIGHT 102
00048
00049 #define INFOITEM_TEXT_WIDTH (INFOITEM_REQ_WIDTH \
00050 - INFOITEM_BORDER_LEFT \
00051 - INFOITEM_ICON_IMG_WIDTH \
00052 - INFOITEM_HBOX_SPACING \
00053 - 1 \
00054 - INFOITEM_HBOX_SPACING \
00055 - INFOITEM_BUTTON_WIDTH \
00056 - INFOITEM_BORDER_RIGHT )
00057 #define INFOITEM_TEXT_HEIGHT (INFOITEM_REQ_HEIGHT \
00058 - INFOITEM_BORDER_TOP \
00059 - INFOITEM_BORDER_BOTTOM)
00060
00061
00062 #include <gtk/gtk.h>
00063 #include <gdk/gdk.h>
00064
00065 #ifdef __cplusplus
00066 extern "C" {
00067 #endif
00068
00069 #define GTK_INFOITEM_TYPE (gtk_infoitem_get_type())
00070 #define GTK_INFOITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_INFOITEM_TYPE, GtkInfoItem))
00071 #define GTK_INFOITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_INFOITEM_TYPE, GtkInfoItemClass))
00072 #define IS_GTK_INFOITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_INFOITEM_TYPE))
00073 #define IS_GTK_INFOITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_INFOITEM_TYPE))
00074
00075 typedef struct _GtkInfoItem GtkInfoItem;
00076 typedef struct _GtkInfoItemClass GtkInfoItemClass;
00077
00078 typedef void on_infoitem_buttonclicked_t(GtkWidget* item, const gboolean button_active);
00079
00080 struct _GtkInfoItem
00081 {
00082 GtkEventBox eventbox;
00083 GtkWidget* icon;
00084 GtkWidget* label;
00085 GtkWidget* button;
00086 on_infoitem_buttonclicked_t* callback_on_buttonclicked;
00087 };
00088
00089 struct _GtkInfoItemClass
00090 {
00091 GtkEventBoxClass parent_class;
00092 };
00093
00094 GType gtk_infoitem_get_type (void);
00095
00096
00097
00098 GtkWidget* gtk_infoitem_new(gboolean with_button);
00099
00100
00101 void gtk_infoitem_set_text(GtkInfoItem *item, const gchar* text);
00102
00103 void gtk_infoitem_set_buttontext(GtkInfoItem* item, const gchar* text);
00104 void gtk_infoitem_set_buttonstate(GtkInfoItem* item, const gboolean active);
00105 void gtk_infoitem_callback_on_buttonclicked(GtkInfoItem* item, on_infoitem_buttonclicked_t* callback);
00106
00107
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111
00112 #endif //__INFO_ITEM_H__
00113
00114
00115
00116