00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGDAMM_QUERYTARGET_H 00004 #define _LIBGDAMM_QUERYTARGET_H 00005 00006 00007 #include <glibmm.h> 00008 00009 // -*- C++ -*- // this is for the .hg, I realize gensig puts one in 00010 00011 /* querytarget.h 00012 * 00013 * Copyright 2003 libgdamm Development Team 00014 * 00015 * This library is free software; you can redistribute it and/or 00016 * modify it under the terms of the GNU Library General Public 00017 * License as published by the Free Software Foundation; either 00018 * version 2 of the License, or (at your option) any later version. 00019 * 00020 * This library is distributed in the hope that it will be useful, 00021 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00022 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00023 * Library General Public License for more details. 00024 * 00025 * You should have received a copy of the GNU Library General Public 00026 * License along with this library; if not, write to the Free 00027 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00028 */ 00029 00030 #include <glibmm/object.h> 00031 #include <libgdamm/dict.h> 00032 #include <libgdamm/datamodel.h> 00033 00034 #include <libgdamm/entity.h> 00035 #include <libgdamm/xmlstorage.h> 00036 #include <libgdamm/referer.h> 00037 #include <libgdamm/renderer.h> 00038 #include <libgdamm/queryobject.h> 00039 00040 00041 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00042 typedef struct _GdaQueryTarget GdaQueryTarget; 00043 typedef struct _GdaQueryTargetClass GdaQueryTargetClass; 00044 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00045 00046 00047 namespace Gnome 00048 { 00049 00050 namespace Gda 00051 { class QueryTarget_Class; } // namespace Gda 00052 00053 } // namespace Gnome 00054 namespace Gnome 00055 { 00056 00057 namespace Gda 00058 { 00059 00060 class Query; 00061 00073 class QueryTarget 00074 : public QueryObject, 00075 public XmlStorage, 00076 public Referer, 00077 public Renderer 00078 { 00079 00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00081 00082 public: 00083 typedef QueryTarget CppObjectType; 00084 typedef QueryTarget_Class CppClassType; 00085 typedef GdaQueryTarget BaseObjectType; 00086 typedef GdaQueryTargetClass BaseClassType; 00087 00088 private: friend class QueryTarget_Class; 00089 static CppClassType querytarget_class_; 00090 00091 private: 00092 // noncopyable 00093 QueryTarget(const QueryTarget&); 00094 QueryTarget& operator=(const QueryTarget&); 00095 00096 protected: 00097 explicit QueryTarget(const Glib::ConstructParams& construct_params); 00098 explicit QueryTarget(GdaQueryTarget* castitem); 00099 00100 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00101 00102 public: 00103 virtual ~QueryTarget(); 00104 00105 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00106 static GType get_type() G_GNUC_CONST; 00107 static GType get_base_type() G_GNUC_CONST; 00108 #endif 00109 00111 GdaQueryTarget* gobj() { return reinterpret_cast<GdaQueryTarget*>(gobject_); } 00112 00114 const GdaQueryTarget* gobj() const { return reinterpret_cast<GdaQueryTarget*>(gobject_); } 00115 00117 GdaQueryTarget* gobj_copy(); 00118 00119 private: 00120 00121 00122 protected: 00123 QueryTarget(const Glib::RefPtr<Query>& query, const Glib::ustring& table); 00124 00125 00126 public: 00127 00128 static Glib::RefPtr<QueryTarget> create(const Glib::RefPtr<Query>& query, const Glib::ustring& table); 00129 00130 00134 Glib::RefPtr<QueryTarget> copy() const; 00135 00139 Glib::RefPtr<Query> get_query(); 00140 00144 Glib::RefPtr<const Query> get_query() const; 00145 00146 00150 Glib::RefPtr<Entity> get_represented_entity(); 00151 00155 Glib::RefPtr<const Entity> get_represented_entity() const; 00156 00157 00161 Glib::ustring get_represented_table_name() const; 00162 00163 00167 void set_alias(const Glib::ustring& alias); 00168 00172 Glib::ustring get_alias() const; 00173 00177 Glib::ustring get_complete_name() const; 00178 00179 #ifdef GLIBMM_PROPERTIES_ENABLED 00180 00186 Glib::PropertyProxy< Glib::RefPtr<Entity> > property_entity() ; 00187 #endif //#GLIBMM_PROPERTIES_ENABLED 00188 00189 #ifdef GLIBMM_PROPERTIES_ENABLED 00190 00196 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Entity> > property_entity() const; 00197 #endif //#GLIBMM_PROPERTIES_ENABLED 00198 00199 #ifdef GLIBMM_PROPERTIES_ENABLED 00200 00206 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_entity_id() ; 00207 #endif //#GLIBMM_PROPERTIES_ENABLED 00208 00209 00210 #ifdef GLIBMM_PROPERTIES_ENABLED 00211 00217 Glib::PropertyProxy_WriteOnly<Glib::ustring> property_entity_name() ; 00218 #endif //#GLIBMM_PROPERTIES_ENABLED 00219 00220 00221 #ifdef GLIBMM_PROPERTIES_ENABLED 00222 00228 Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Query> > property_query() const; 00229 #endif //#GLIBMM_PROPERTIES_ENABLED 00230 00231 00232 public: 00233 00234 public: 00235 //C++ methods used to invoke GTK+ virtual functions: 00236 #ifdef GLIBMM_VFUNCS_ENABLED 00237 #endif //GLIBMM_VFUNCS_ENABLED 00238 00239 protected: 00240 //GTK+ Virtual Functions (override these to change behaviour): 00241 #ifdef GLIBMM_VFUNCS_ENABLED 00242 #endif //GLIBMM_VFUNCS_ENABLED 00243 00244 //Default Signal Handlers:: 00245 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 00246 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 00247 00248 00249 }; 00250 00251 } // namespace Gda 00252 } // namespace Gnome 00253 00254 00255 namespace Glib 00256 { 00262 Glib::RefPtr<Gnome::Gda::QueryTarget> wrap(GdaQueryTarget* object, bool take_copy = false); 00263 } 00264 00265 00266 #endif /* _LIBGDAMM_QUERYTARGET_H */ 00267