00001
00002
00003 #ifndef _HILDON_LIBSMM_CAPTION_H
00004 #define _HILDON_LIBSMM_CAPTION_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include <gtkmm/eventbox.h>
00031 #include <gtkmm/sizegroup.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _HildonCaption HildonCaption;
00036 typedef struct _HildonCaptionClass HildonCaptionClass;
00037 #endif
00038
00039
00040 namespace Hildon
00041 { class Caption_Class; }
00042 namespace Hildon
00043 {
00044
00050 enum CaptionStatus
00051 {
00052 CAPTION_OPTIONAL,
00053 CAPTION_MANDATORY
00054 };
00055
00056 }
00057
00058
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060 namespace Glib
00061 {
00062
00063 template <>
00064 class Value<Hildon::CaptionStatus> : public Glib::Value_Enum<Hildon::CaptionStatus>
00065 {
00066 public:
00067 static GType value_type() G_GNUC_CONST;
00068 };
00069
00070 }
00071 #endif
00072
00073
00074 namespace Hildon
00075 {
00076
00077
00083 class Caption : public Gtk::EventBox
00084 {
00085 public:
00086 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00087 typedef Caption CppObjectType;
00088 typedef Caption_Class CppClassType;
00089 typedef HildonCaption BaseObjectType;
00090 typedef HildonCaptionClass BaseClassType;
00091 #endif
00092
00093 virtual ~Caption();
00094
00095 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00096
00097 private:
00098 friend class Caption_Class;
00099 static CppClassType caption_class_;
00100
00101
00102 Caption(const Caption&);
00103 Caption& operator=(const Caption&);
00104
00105 protected:
00106 explicit Caption(const Glib::ConstructParams& construct_params);
00107 explicit Caption(HildonCaption* castitem);
00108
00109 #endif
00110
00111 public:
00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00113 static GType get_type() G_GNUC_CONST;
00114 static GType get_base_type() G_GNUC_CONST;
00115 #endif
00116
00118 HildonCaption* gobj() { return reinterpret_cast<HildonCaption*>(gobject_); }
00119
00121 const HildonCaption* gobj() const { return reinterpret_cast<HildonCaption*>(gobject_); }
00122
00123
00124 public:
00125
00126 #ifdef GLIBMM_VFUNCS_ENABLED
00127 #endif //GLIBMM_VFUNCS_ENABLED
00128
00129 protected:
00130
00131 #ifdef GLIBMM_VFUNCS_ENABLED
00132 #endif //GLIBMM_VFUNCS_ENABLED
00133
00134
00135 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00136 virtual void on_activate();
00137 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00138
00139
00140 private:
00141
00142 public:
00143 Caption(Gtk::SizeGroup& group, const Glib::ustring& value,
00144 Gtk::Widget& child, Gtk::Widget& icon,
00145 CaptionStatus flag = CAPTION_OPTIONAL);
00146
00147
00148
00149
00150
00155 bool is_mandatory() const;
00156
00157
00161 void set_status(CaptionStatus flag);
00162
00163
00168 CaptionStatus get_status() const;
00169
00170
00171
00176 void set_icon_image(Gtk::Widget& icon);
00177
00178
00184 Gtk::Widget* get_icon_image();
00185
00191 const Gtk::Widget* get_icon_image() const;
00192
00193
00199 void set_label(const Glib::ustring& label);
00200
00201
00208 Glib::ustring get_label() const;
00209
00210
00216 void set_separator(const Glib::ustring& separator);
00217
00224 Glib::ustring get_separator() const;
00225
00226
00234 void set_label_alignment(float alignment);
00235
00241 float get_label_alignment() const;
00242
00243
00244
00245
00249 void set_child_expand(bool expand = true);
00250
00255 bool get_child_expand() const;
00256
00257
00258 Glib::SignalProxy0< void > signal_activate();
00259
00260
00261 #ifdef GLIBMM_PROPERTIES_ENABLED
00262
00268 Glib::PropertyProxy<Glib::ustring> property_label() ;
00269 #endif //#GLIBMM_PROPERTIES_ENABLED
00270
00271 #ifdef GLIBMM_PROPERTIES_ENABLED
00272
00278 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_label() const;
00279 #endif //#GLIBMM_PROPERTIES_ENABLED
00280
00281 #ifdef GLIBMM_PROPERTIES_ENABLED
00282
00288 Glib::PropertyProxy<Gtk::Widget*> property_icon() ;
00289 #endif //#GLIBMM_PROPERTIES_ENABLED
00290
00291 #ifdef GLIBMM_PROPERTIES_ENABLED
00292
00298 Glib::PropertyProxy_ReadOnly<Gtk::Widget*> property_icon() const;
00299 #endif //#GLIBMM_PROPERTIES_ENABLED
00300
00301 #ifdef GLIBMM_PROPERTIES_ENABLED
00302
00308 Glib::PropertyProxy<CaptionStatus> property_status() ;
00309 #endif //#GLIBMM_PROPERTIES_ENABLED
00310
00311 #ifdef GLIBMM_PROPERTIES_ENABLED
00312
00318 Glib::PropertyProxy_ReadOnly<CaptionStatus> property_status() const;
00319 #endif //#GLIBMM_PROPERTIES_ENABLED
00320
00321 #ifdef GLIBMM_PROPERTIES_ENABLED
00322
00328 Glib::PropertyProxy<Glib::ustring> property_separator() ;
00329 #endif //#GLIBMM_PROPERTIES_ENABLED
00330
00331 #ifdef GLIBMM_PROPERTIES_ENABLED
00332
00338 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_separator() const;
00339 #endif //#GLIBMM_PROPERTIES_ENABLED
00340
00341 #ifdef GLIBMM_PROPERTIES_ENABLED
00342
00348 Glib::PropertyProxy<Gtk::SizeGroup*> property_size_group() ;
00349 #endif //#GLIBMM_PROPERTIES_ENABLED
00350
00351 #ifdef GLIBMM_PROPERTIES_ENABLED
00352
00358 Glib::PropertyProxy_ReadOnly<Gtk::SizeGroup*> property_size_group() const;
00359 #endif //#GLIBMM_PROPERTIES_ENABLED
00360
00361
00362 };
00363
00364 }
00365
00366
00367 namespace Glib
00368 {
00374 Hildon::Caption* wrap(HildonCaption* object, bool take_copy = false);
00375 }
00376
00377
00378 #endif
00379