00001
00002
00003 #ifndef _LIBGNOMEDBMM_DATAWIDGETINFO_H
00004 #define _LIBGNOMEDBMM_DATAWIDGETINFO_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/box.h>
00031 #include <libgnomedbmm/datawidget.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GnomeDbDataWidgetInfo GnomeDbDataWidgetInfo;
00036 typedef struct _GnomeDbDataWidgetInfoClass GnomeDbDataWidgetInfoClass;
00037 #endif
00038
00039
00040 namespace Gnome
00041 {
00042
00043 namespace Db
00044 { class DataWidgetInfo_Class; }
00045
00046 }
00047 namespace Gnome
00048 {
00049
00050 namespace Db
00051 {
00052
00066 enum DataWidgetInfoFlag
00067 {
00068 DB_DATA_WIDGET_INFO_CURRENT_ROW = 1 << 0,
00069 DB_DATA_WIDGET_INFO_ROW_MODIF_BUTTONS = 1 << 2,
00070 DB_DATA_WIDGET_INFO_ROW_MOVE_BUTTONS = 1 << 3,
00071 DB_DATA_WIDGET_INFO_CHUNCK_CHANGE_BUTTONS = 1 << 4
00072 };
00073
00075 inline DataWidgetInfoFlag operator|(DataWidgetInfoFlag lhs, DataWidgetInfoFlag rhs)
00076 { return static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00077
00079 inline DataWidgetInfoFlag operator&(DataWidgetInfoFlag lhs, DataWidgetInfoFlag rhs)
00080 { return static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00081
00083 inline DataWidgetInfoFlag operator^(DataWidgetInfoFlag lhs, DataWidgetInfoFlag rhs)
00084 { return static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00085
00087 inline DataWidgetInfoFlag operator~(DataWidgetInfoFlag flags)
00088 { return static_cast<DataWidgetInfoFlag>(~static_cast<unsigned>(flags)); }
00089
00091 inline DataWidgetInfoFlag& operator|=(DataWidgetInfoFlag& lhs, DataWidgetInfoFlag rhs)
00092 { return (lhs = static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00093
00095 inline DataWidgetInfoFlag& operator&=(DataWidgetInfoFlag& lhs, DataWidgetInfoFlag rhs)
00096 { return (lhs = static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00097
00099 inline DataWidgetInfoFlag& operator^=(DataWidgetInfoFlag& lhs, DataWidgetInfoFlag rhs)
00100 { return (lhs = static_cast<DataWidgetInfoFlag>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00101
00102 }
00103
00104 }
00105
00106
00107 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00108 namespace Glib
00109 {
00110
00111 template <>
00112 class Value<Gnome::Db::DataWidgetInfoFlag> : public Glib::Value_Flags<Gnome::Db::DataWidgetInfoFlag>
00113 {
00114 public:
00115 static GType value_type() G_GNUC_CONST;
00116 };
00117
00118 }
00119 #endif
00120
00121
00122 namespace Gnome
00123 {
00124
00125 namespace Db
00126 {
00127
00128
00129 class DataWidgetInfo : public Gtk::HBox
00130 {
00131 public:
00132 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00133 typedef DataWidgetInfo CppObjectType;
00134 typedef DataWidgetInfo_Class CppClassType;
00135 typedef GnomeDbDataWidgetInfo BaseObjectType;
00136 typedef GnomeDbDataWidgetInfoClass BaseClassType;
00137 #endif
00138
00139 virtual ~DataWidgetInfo();
00140
00141 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00142
00143 private:
00144 friend class DataWidgetInfo_Class;
00145 static CppClassType datawidgetinfo_class_;
00146
00147
00148 DataWidgetInfo(const DataWidgetInfo&);
00149 DataWidgetInfo& operator=(const DataWidgetInfo&);
00150
00151 protected:
00152 explicit DataWidgetInfo(const Glib::ConstructParams& construct_params);
00153 explicit DataWidgetInfo(GnomeDbDataWidgetInfo* castitem);
00154
00155 #endif
00156
00157 public:
00158 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00159 static GType get_type() G_GNUC_CONST;
00160 static GType get_base_type() G_GNUC_CONST;
00161 #endif
00162
00164 GnomeDbDataWidgetInfo* gobj() { return reinterpret_cast<GnomeDbDataWidgetInfo*>(gobject_); }
00165
00167 const GnomeDbDataWidgetInfo* gobj() const { return reinterpret_cast<GnomeDbDataWidgetInfo*>(gobject_); }
00168
00169
00170 public:
00171
00172 #ifdef GLIBMM_VFUNCS_ENABLED
00173 #endif //GLIBMM_VFUNCS_ENABLED
00174
00175 protected:
00176
00177 #ifdef GLIBMM_VFUNCS_ENABLED
00178 #endif //GLIBMM_VFUNCS_ENABLED
00179
00180
00181 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00182 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00183
00184
00185 private:
00186
00187
00188 public:
00189
00190 explicit DataWidgetInfo(DataWidget& data_widget, DataWidgetInfoFlag flags);
00191
00192 #ifdef GLIBMM_PROPERTIES_ENABLED
00193
00199 Glib::PropertyProxy<DataWidget*> property_data_widget() ;
00200 #endif //#GLIBMM_PROPERTIES_ENABLED
00201
00202 #ifdef GLIBMM_PROPERTIES_ENABLED
00203
00209 Glib::PropertyProxy_ReadOnly<DataWidget*> property_data_widget() const;
00210 #endif //#GLIBMM_PROPERTIES_ENABLED
00211
00212 #ifdef GLIBMM_PROPERTIES_ENABLED
00213
00219 Glib::PropertyProxy<DataWidgetInfoFlag> property_flags() ;
00220 #endif //#GLIBMM_PROPERTIES_ENABLED
00221
00222 #ifdef GLIBMM_PROPERTIES_ENABLED
00223
00229 Glib::PropertyProxy_ReadOnly<DataWidgetInfoFlag> property_flags() const;
00230 #endif //#GLIBMM_PROPERTIES_ENABLED
00231
00232
00233 };
00234
00235 }
00236 }
00237
00238
00239 namespace Glib
00240 {
00246 Gnome::Db::DataWidgetInfo* wrap(GnomeDbDataWidgetInfo* object, bool take_copy = false);
00247 }
00248
00249
00250 #endif
00251