00001
00002
00003 #ifndef _LIBGDAMM_QUERYFIELDVALUE_H
00004 #define _LIBGDAMM_QUERYFIELDVALUE_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 <glibmm/object.h>
00031 #include <libgdamm/dicttype.h>
00032 #include <libgdamm/datamodel.h>
00033
00034 #include <libgdamm/xmlstorage.h>
00035 #include <libgdamm/referer.h>
00036 #include <libgdamm/entityfield.h>
00037 #include <libgdamm/renderer.h>
00038
00039 #include <libgdamm/query.h>
00040
00041
00042 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00043 typedef struct _GdaQueryFieldValue GdaQueryFieldValue;
00044 typedef struct _GdaQueryFieldValueClass GdaQueryFieldValueClass;
00045 #endif
00046
00047
00048 namespace Gnome
00049 {
00050
00051 namespace Gda
00052 { class QueryFieldValue_Class; }
00053
00054 }
00055 namespace Gnome
00056 {
00057
00058 namespace Gda
00059 {
00060
00066 class QueryFieldValue
00067 : public QueryField,
00068 public XmlStorage,
00069 public Referer,
00070 public EntityField,
00071 public Renderer
00072 {
00073
00074 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00075
00076 public:
00077 typedef QueryFieldValue CppObjectType;
00078 typedef QueryFieldValue_Class CppClassType;
00079 typedef GdaQueryFieldValue BaseObjectType;
00080 typedef GdaQueryFieldValueClass BaseClassType;
00081
00082 private: friend class QueryFieldValue_Class;
00083 static CppClassType queryfieldvalue_class_;
00084
00085 private:
00086
00087 QueryFieldValue(const QueryFieldValue&);
00088 QueryFieldValue& operator=(const QueryFieldValue&);
00089
00090 protected:
00091 explicit QueryFieldValue(const Glib::ConstructParams& construct_params);
00092 explicit QueryFieldValue(GdaQueryFieldValue* castitem);
00093
00094 #endif
00095
00096 public:
00097 virtual ~QueryFieldValue();
00098
00099 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00100 static GType get_type() G_GNUC_CONST;
00101 static GType get_base_type() G_GNUC_CONST;
00102 #endif
00103
00105 GdaQueryFieldValue* gobj() { return reinterpret_cast<GdaQueryFieldValue*>(gobject_); }
00106
00108 const GdaQueryFieldValue* gobj() const { return reinterpret_cast<GdaQueryFieldValue*>(gobject_); }
00109
00111 GdaQueryFieldValue* gobj_copy();
00112
00113 private:
00114
00115
00116 protected:
00117
00118
00119 QueryFieldValue(const Glib::RefPtr<Query>& query, GType type);
00120 QueryFieldValue(const Glib::RefPtr<Query>& query, const Value& value);
00121
00122 public:
00123
00124 static Glib::RefPtr<QueryFieldValue> create(const Glib::RefPtr<Query>& query, GType type);
00125 ;
00126
00127 static Glib::RefPtr<QueryFieldValue> create(const Glib::RefPtr<Query>& query, const Value& value);
00128 ;
00129
00130
00134 void set_value(const Value& val);
00135
00141 Value get_value() const;
00142
00146 void set_default_value(const Value& default_val);
00147
00151 Value get_default_value() const;
00152
00156 GType get_g_type() const;
00157
00158
00161 void set_is_parameter(bool is_param = true);
00162
00166 bool is_parameter() const;
00167
00171 void set_not_null(bool not_null = true);
00172
00176 bool get_not_null() const;
00177
00181 bool is_value_null(const Glib::RefPtr<ParameterList>& context) const;
00182
00190 #ifdef GLIBMM_EXCEPTIONS_ENABLED
00191 bool restrict(const Glib::RefPtr<DataModel>& model, int col);
00192 #else
00193 bool restrict(const Glib::RefPtr<DataModel>& model, int col, std::auto_ptr<Glib::Error>& error);
00194 #endif //GLIBMM_EXCEPTIONS_ENABLED
00195
00196
00200 void set_dict_type(const Glib::RefPtr<DictType>& type);
00201
00205 Glib::RefPtr<DictType> get_dict_type();
00206
00210 Glib::RefPtr<const DictType> get_dict_type() const;
00211
00212 #ifdef GLIBMM_PROPERTIES_ENABLED
00213
00219 Glib::PropertyProxy<Glib::ustring> property_entry_plugin() ;
00220 #endif //#GLIBMM_PROPERTIES_ENABLED
00221
00222 #ifdef GLIBMM_PROPERTIES_ENABLED
00223
00229 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_entry_plugin() const;
00230 #endif //#GLIBMM_PROPERTIES_ENABLED
00231
00232 #ifdef GLIBMM_PROPERTIES_ENABLED
00233
00239 Glib::PropertyProxy<GType> property_g_type() ;
00240 #endif //#GLIBMM_PROPERTIES_ENABLED
00241
00242 #ifdef GLIBMM_PROPERTIES_ENABLED
00243
00249 Glib::PropertyProxy_ReadOnly<GType> property_g_type() const;
00250 #endif //#GLIBMM_PROPERTIES_ENABLED
00251
00252 #ifdef GLIBMM_PROPERTIES_ENABLED
00253
00259 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Query> > property_query() const;
00260 #endif //#GLIBMM_PROPERTIES_ENABLED
00261
00262
00263 #ifdef GLIBMM_PROPERTIES_ENABLED
00264
00270 Glib::PropertyProxy<int> property_restrict_column() ;
00271 #endif //#GLIBMM_PROPERTIES_ENABLED
00272
00273 #ifdef GLIBMM_PROPERTIES_ENABLED
00274
00280 Glib::PropertyProxy_ReadOnly<int> property_restrict_column() const;
00281 #endif //#GLIBMM_PROPERTIES_ENABLED
00282
00283 #ifdef GLIBMM_PROPERTIES_ENABLED
00284
00290 Glib::PropertyProxy< Glib::RefPtr<DataModel> > property_restrict_model() ;
00291 #endif //#GLIBMM_PROPERTIES_ENABLED
00292
00293 #ifdef GLIBMM_PROPERTIES_ENABLED
00294
00300 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<DataModel> > property_restrict_model() const;
00301 #endif //#GLIBMM_PROPERTIES_ENABLED
00302
00303
00304 public:
00305
00306 public:
00307
00308 #ifdef GLIBMM_VFUNCS_ENABLED
00309 #endif //GLIBMM_VFUNCS_ENABLED
00310
00311 protected:
00312
00313 #ifdef GLIBMM_VFUNCS_ENABLED
00314 #endif //GLIBMM_VFUNCS_ENABLED
00315
00316
00317 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00318 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00319
00320
00321 };
00322
00323 }
00324 }
00325
00326
00327 namespace Glib
00328 {
00334 Glib::RefPtr<Gnome::Gda::QueryFieldValue> wrap(GdaQueryFieldValue* object, bool take_copy = false);
00335 }
00336
00337
00338 #endif
00339