00001
00002
00003 #ifndef _LIBGDAMM_QUERYFIELDFIELD_H
00004 #define _LIBGDAMM_QUERYFIELDFIELD_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/dict.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 #include <libgdamm/queryfield.h>
00039 #include <libgdamm/querytarget.h>
00040 #include <libgdamm/query.h>
00041
00042
00043 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00044 typedef struct _GdaQueryFieldField GdaQueryFieldField;
00045 typedef struct _GdaQueryFieldFieldClass GdaQueryFieldFieldClass;
00046 #endif
00047
00048
00049 namespace Gnome
00050 {
00051
00052 namespace Gda
00053 { class QueryFieldField_Class; }
00054
00055 }
00056 namespace Gnome
00057 {
00058
00059 namespace Gda
00060 {
00061
00067 class QueryFieldField
00068 : public QueryField,
00069 public XmlStorage,
00070 public Referer,
00071 public EntityField,
00072 public Renderer
00073 {
00074
00075 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00076
00077 public:
00078 typedef QueryFieldField CppObjectType;
00079 typedef QueryFieldField_Class CppClassType;
00080 typedef GdaQueryFieldField BaseObjectType;
00081 typedef GdaQueryFieldFieldClass BaseClassType;
00082
00083 private: friend class QueryFieldField_Class;
00084 static CppClassType queryfieldfield_class_;
00085
00086 private:
00087
00088 QueryFieldField(const QueryFieldField&);
00089 QueryFieldField& operator=(const QueryFieldField&);
00090
00091 protected:
00092 explicit QueryFieldField(const Glib::ConstructParams& construct_params);
00093 explicit QueryFieldField(GdaQueryFieldField* castitem);
00094
00095 #endif
00096
00097 public:
00098 virtual ~QueryFieldField();
00099
00100 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00101 static GType get_type() G_GNUC_CONST;
00102 static GType get_base_type() G_GNUC_CONST;
00103 #endif
00104
00106 GdaQueryFieldField* gobj() { return reinterpret_cast<GdaQueryFieldField*>(gobject_); }
00107
00109 const GdaQueryFieldField* gobj() const { return reinterpret_cast<GdaQueryFieldField*>(gobject_); }
00110
00112 GdaQueryFieldField* gobj_copy();
00113
00114 private:
00115
00116
00117 protected:
00118
00119 QueryFieldField(const Glib::RefPtr<Query>& query, const Glib::ustring& field);
00120 QueryFieldField(const Glib::RefPtr<Query>& query, const Glib::ustring& field, const Glib::RefPtr<QueryTarget>& target);
00121
00122 QueryFieldField(const Glib::RefPtr<Query>& query, const Glib::ustring& field, const Glib::RefPtr<QueryTarget>& target, const Glib::RefPtr<QueryField>& value_provider);
00123
00124 public:
00125
00126 static Glib::RefPtr<QueryFieldField> create(const Glib::RefPtr<Query>& query, const Glib::ustring& field);
00127
00128
00129 static Glib::RefPtr<QueryFieldField> create(const Glib::RefPtr<Query>& query, const Glib::ustring& field, const Glib::RefPtr<QueryTarget>& target);
00130
00131
00132
00133 static Glib::RefPtr<QueryFieldField> create(const Glib::RefPtr<Query>& query, const Glib::ustring& field, const Glib::RefPtr<QueryTarget>& target, const Glib::RefPtr<QueryField>& value_provider);
00134
00135
00143 Glib::ustring get_ref_field_name() const;
00144
00149 Glib::RefPtr<EntityField> get_ref_field();
00150
00155 Glib::RefPtr<const EntityField> get_ref_field() const;
00156
00157
00161 Glib::RefPtr<QueryTarget> get_target();
00162
00166 Glib::RefPtr<const QueryTarget> get_target() const;
00167
00168 #ifdef GLIBMM_PROPERTIES_ENABLED
00169
00175 Glib::PropertyProxy<Glib::ustring> property_entry_plugin() ;
00176 #endif //#GLIBMM_PROPERTIES_ENABLED
00177
00178 #ifdef GLIBMM_PROPERTIES_ENABLED
00179
00185 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_entry_plugin() const;
00186 #endif //#GLIBMM_PROPERTIES_ENABLED
00187
00188 #ifdef GLIBMM_PROPERTIES_ENABLED
00189
00195 Glib::PropertyProxy< Glib::RefPtr<EntityField> > property_field() ;
00196 #endif //#GLIBMM_PROPERTIES_ENABLED
00197
00198 #ifdef GLIBMM_PROPERTIES_ENABLED
00199
00205 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<EntityField> > property_field() const;
00206 #endif //#GLIBMM_PROPERTIES_ENABLED
00207
00208 #ifdef GLIBMM_PROPERTIES_ENABLED
00209
00215 Glib::PropertyProxy<Glib::ustring> property_field_name() ;
00216 #endif //#GLIBMM_PROPERTIES_ENABLED
00217
00218 #ifdef GLIBMM_PROPERTIES_ENABLED
00219
00225 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_field_name() const;
00226 #endif //#GLIBMM_PROPERTIES_ENABLED
00227
00228 #ifdef GLIBMM_PROPERTIES_ENABLED
00229
00235 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_field_id() ;
00236 #endif //#GLIBMM_PROPERTIES_ENABLED
00237
00238
00239 #ifdef GLIBMM_PROPERTIES_ENABLED
00240
00246 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Query> > property_query() const;
00247 #endif //#GLIBMM_PROPERTIES_ENABLED
00248
00249
00250 #ifdef GLIBMM_PROPERTIES_ENABLED
00251
00257 Glib::PropertyProxy< Glib::RefPtr<QueryField> > property_value_provider() ;
00258 #endif //#GLIBMM_PROPERTIES_ENABLED
00259
00260 #ifdef GLIBMM_PROPERTIES_ENABLED
00261
00267 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<QueryField> > property_value_provider() const;
00268 #endif //#GLIBMM_PROPERTIES_ENABLED
00269
00270 #ifdef GLIBMM_PROPERTIES_ENABLED
00271
00277 Glib::PropertyProxy<Glib::ustring> property_value_provider_xml_id() ;
00278 #endif //#GLIBMM_PROPERTIES_ENABLED
00279
00280 #ifdef GLIBMM_PROPERTIES_ENABLED
00281
00287 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_value_provider_xml_id() const;
00288 #endif //#GLIBMM_PROPERTIES_ENABLED
00289
00290 #ifdef GLIBMM_PROPERTIES_ENABLED
00291
00297 Glib::PropertyProxy< Glib::RefPtr<QueryTarget> > property_target() ;
00298 #endif //#GLIBMM_PROPERTIES_ENABLED
00299
00300 #ifdef GLIBMM_PROPERTIES_ENABLED
00301
00307 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<QueryTarget> > property_target() const;
00308 #endif //#GLIBMM_PROPERTIES_ENABLED
00309
00310 #ifdef GLIBMM_PROPERTIES_ENABLED
00311
00317 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_target_name() ;
00318 #endif //#GLIBMM_PROPERTIES_ENABLED
00319
00320
00321 #ifdef GLIBMM_PROPERTIES_ENABLED
00322
00328 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_target_id() ;
00329 #endif //#GLIBMM_PROPERTIES_ENABLED
00330
00331
00332 public:
00333
00334 public:
00335
00336 #ifdef GLIBMM_VFUNCS_ENABLED
00337 #endif //GLIBMM_VFUNCS_ENABLED
00338
00339 protected:
00340
00341 #ifdef GLIBMM_VFUNCS_ENABLED
00342 #endif //GLIBMM_VFUNCS_ENABLED
00343
00344
00345 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00346 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00347
00348
00349 };
00350
00351 }
00352 }
00353
00354
00355 namespace Glib
00356 {
00362 Glib::RefPtr<Gnome::Gda::QueryFieldField> wrap(GdaQueryFieldField* object, bool take_copy = false);
00363 }
00364
00365
00366 #endif
00367