00001 // -*- c++ -*- 00002 // Generated by gtkmmproc -- DO NOT MODIFY! 00003 #ifndef _LIBGDAMM_COLUMN_H 00004 #define _LIBGDAMM_COLUMN_H 00005 00006 00007 #include <glibmm.h> 00008 00009 /* $Id: column.hg,v 1.14 2006/11/30 06:58:55 murrayc Exp $ */ 00010 // -*- C++ -*- // this is for the .hg, I realize gensig puts one in 00011 00012 /* modelcolumnattributes.h 00013 * 00014 * Copyright 2003 libgdamm Development Team 00015 * 00016 * This library is free software; you can redistribute it and/or 00017 * modify it under the terms of the GNU Library General Public 00018 * License as published by the Free Software Foundation; either 00019 * version 2 of the License, or (at your option) any later version. 00020 * 00021 * This library is distributed in the hope that it will be useful, 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00024 * Library General Public License for more details. 00025 * 00026 * You should have received a copy of the GNU Library General Public 00027 * License along with this library; if not, write to the Free 00028 * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00029 */ 00030 00031 #include <libgdamm/transactionstatus.h> 00032 #include <glibmm/object.h> 00033 00034 00035 #include <libgdamm/value.h> 00036 00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00038 typedef struct _GdaColumn GdaColumn; 00039 typedef struct _GdaColumnClass GdaColumnClass; 00040 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00041 00042 00043 namespace Gnome 00044 { 00045 00046 namespace Gda 00047 { class Column_Class; } // namespace Gda 00048 00049 } // namespace Gnome 00050 namespace Gnome 00051 { 00052 00053 namespace Gda 00054 { 00055 00060 class Column : public Glib::Object 00061 { 00062 00063 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00064 00065 public: 00066 typedef Column CppObjectType; 00067 typedef Column_Class CppClassType; 00068 typedef GdaColumn BaseObjectType; 00069 typedef GdaColumnClass BaseClassType; 00070 00071 private: friend class Column_Class; 00072 static CppClassType column_class_; 00073 00074 private: 00075 // noncopyable 00076 Column(const Column&); 00077 Column& operator=(const Column&); 00078 00079 protected: 00080 explicit Column(const Glib::ConstructParams& construct_params); 00081 explicit Column(GdaColumn* castitem); 00082 00083 #endif /* DOXYGEN_SHOULD_SKIP_THIS */ 00084 00085 public: 00086 virtual ~Column(); 00087 00088 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00089 static GType get_type() G_GNUC_CONST; 00090 static GType get_base_type() G_GNUC_CONST; 00091 #endif 00092 00094 GdaColumn* gobj() { return reinterpret_cast<GdaColumn*>(gobject_); } 00095 00097 const GdaColumn* gobj() const { return reinterpret_cast<GdaColumn*>(gobject_); } 00098 00100 GdaColumn* gobj_copy(); 00101 00102 private: 00103 00104 protected: 00105 Column(); 00106 00107 public: 00108 00109 static Glib::RefPtr<Column> create(); 00110 00111 00116 Glib::RefPtr<Column> copy() const; 00117 bool equal(const Glib::RefPtr<const Column>& src) const; 00118 00119 00123 Glib::ustring get_title() const; 00124 00128 void set_title(const Glib::ustring& title); 00129 00130 00134 glong get_defined_size() const; 00135 00139 void set_defined_size(glong size); 00140 00144 Glib::ustring get_name() const; 00145 00149 void set_name(const Glib::ustring& name); 00150 00154 Glib::ustring get_table() const; 00155 00159 void set_table(const Glib::ustring& table); 00160 00164 Glib::ustring get_caption() const; 00165 00169 void set_caption(const Glib::ustring& caption); 00170 00174 glong get_scale() const; 00175 00179 void set_scale(glong scale); 00180 00184 Glib::ustring get_dbms_type() const; 00185 00186 void set_dbms_type(const Glib::ustring& dbms_type); 00187 00188 00192 GType get_g_type() const; 00193 00197 void set_g_type(GType type); 00198 00202 bool get_allow_null() const; 00203 00207 void set_allow_null(bool allow = true); 00208 00212 bool get_primary_key() const; 00213 00217 void set_primary_key(bool pk = true); 00218 00222 bool get_unique_key() const; 00223 00227 void set_unique_key(bool uk = true); 00228 00233 Glib::ustring get_references() const; //TODO: What's this? 00234 00238 void set_references(const Glib::ustring& ref); 00239 00243 bool get_auto_increment() const; 00244 00248 void set_auto_increment(bool is_auto = true); 00249 00254 gint get_position() const; 00255 00260 void set_position(gint position); 00261 00262 Value get_default_value() const; 00263 00264 00268 void set_default_value(const Value& default_value); 00269 00270 00276 Glib::SignalProxy1< void,const Glib::ustring& > signal_name_changed(); 00277 00278 00284 Glib::SignalProxy2< void,GType,GType > signal_g_type_changed(); 00285 ; 00286 00287 #ifdef GLIBMM_PROPERTIES_ENABLED 00288 00294 Glib::PropertyProxy<Glib::ustring> property_id() ; 00295 #endif //#GLIBMM_PROPERTIES_ENABLED 00296 00297 #ifdef GLIBMM_PROPERTIES_ENABLED 00298 00304 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_id() const; 00305 #endif //#GLIBMM_PROPERTIES_ENABLED 00306 00307 00308 public: 00309 00310 public: 00311 //C++ methods used to invoke GTK+ virtual functions: 00312 #ifdef GLIBMM_VFUNCS_ENABLED 00313 #endif //GLIBMM_VFUNCS_ENABLED 00314 00315 protected: 00316 //GTK+ Virtual Functions (override these to change behaviour): 00317 #ifdef GLIBMM_VFUNCS_ENABLED 00318 #endif //GLIBMM_VFUNCS_ENABLED 00319 00320 //Default Signal Handlers:: 00321 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 00322 virtual void on_name_changed(const Glib::ustring& old_name); 00323 virtual void on_g_type_changed(GType old_type, GType new_type); 00324 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED 00325 00326 00327 }; 00328 00329 } // namespace Gda 00330 } // namespace Gnome 00331 00332 00333 namespace Glib 00334 { 00340 Glib::RefPtr<Gnome::Gda::Column> wrap(GdaColumn* object, bool take_copy = false); 00341 } 00342 00343 00344 #endif /* _LIBGDAMM_COLUMN_H */ 00345