form.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _LIBGNOMEDBMM_FORM_H
00004 #define _LIBGNOMEDBMM_FORM_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 // -*- C++ -*- // 
00010 
00011 /* form.h
00012  * 
00013  * Copyright 2006 libgnomedbmm 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 <gtkmm/box.h>
00031 #include <libgdamm/datamodel.h>
00032 #include <libgnomedbmm/rawform.h>
00033 #include <libgnomedbmm/datawidgetinfo.h>
00034 
00035 
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GnomeDbForm GnomeDbForm;
00038 typedef struct _GnomeDbFormClass GnomeDbFormClass;
00039 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00040 
00041 
00042 namespace Gnome
00043 {
00044 
00045 namespace Db
00046 { class Form_Class; } // namespace Db
00047 
00048 } // namespace Gnome
00049 namespace Gnome
00050 {
00051 
00052 namespace Db
00053 {
00054 
00055 
00056 class Form : public Gtk::VBox
00057 {
00058   public:
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060   typedef Form CppObjectType;
00061   typedef Form_Class CppClassType;
00062   typedef GnomeDbForm BaseObjectType;
00063   typedef GnomeDbFormClass BaseClassType;
00064 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00065 
00066   virtual ~Form();
00067 
00068 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00069 
00070 private:
00071   friend class Form_Class;
00072   static CppClassType form_class_;
00073 
00074   // noncopyable
00075   Form(const Form&);
00076   Form& operator=(const Form&);
00077 
00078 protected:
00079   explicit Form(const Glib::ConstructParams& construct_params);
00080   explicit Form(GnomeDbForm* castitem);
00081 
00082 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00083 
00084 public:
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086   static GType get_type()      G_GNUC_CONST;
00087   static GType get_base_type() G_GNUC_CONST;
00088 #endif
00089 
00091   GnomeDbForm*       gobj()       { return reinterpret_cast<GnomeDbForm*>(gobject_); }
00092 
00094   const GnomeDbForm* gobj() const { return reinterpret_cast<GnomeDbForm*>(gobject_); }
00095 
00096 
00097 public:
00098   //C++ methods used to invoke GTK+ virtual functions:
00099 #ifdef GLIBMM_VFUNCS_ENABLED
00100 #endif //GLIBMM_VFUNCS_ENABLED
00101 
00102 protected:
00103   //GTK+ Virtual Functions (override these to change behaviour):
00104 #ifdef GLIBMM_VFUNCS_ENABLED
00105 #endif //GLIBMM_VFUNCS_ENABLED
00106 
00107   //Default Signal Handlers::
00108 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00109 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00110 
00111 
00112 private:
00113 
00114 
00115 public:
00116   explicit Form(const Glib::RefPtr<Gda::DataModel>& model);;
00117 
00118   //TODO: Documentation. And why is this hand-coded? murrayc
00119   // It is just convenience API to provide access to the raw form property
00120   // in a cleaner way than calling property_raw_form and that also works
00121   // when glibmm has not been compiled with support for properties. In
00122   // contrast to other properties, access to this one is required to
00123   // perform some tasks (like restricting a field's possible values).
00124 
00127   RawForm* get_raw_form();
00128 
00131   const RawForm* get_raw_form() const;
00132 
00133   #ifdef GLIBMM_PROPERTIES_ENABLED
00134 
00140   Glib::PropertyProxy_ReadOnly<RawForm*> property_raw_form() const;
00141 #endif //#GLIBMM_PROPERTIES_ENABLED
00142 
00143 
00144   #ifdef GLIBMM_PROPERTIES_ENABLED
00145 
00151   Glib::PropertyProxy_ReadOnly<DataWidget*> property_widget_info() const;
00152 #endif //#GLIBMM_PROPERTIES_ENABLED
00153 
00154 
00155   #ifdef GLIBMM_PROPERTIES_ENABLED
00156 
00162   Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gda::DataModel> > property_model() const;
00163 #endif //#GLIBMM_PROPERTIES_ENABLED
00164 
00165 
00166 };
00167 
00168 } // namespace Db
00169 } // namespace Gnome
00170 
00171 
00172 namespace Glib
00173 {
00179   Gnome::Db::Form* wrap(GnomeDbForm* object, bool take_copy = false);
00180 } //namespace Glib
00181 
00182 
00183 #endif /* _LIBGNOMEDBMM_FORM_H */
00184 

Generated on Mon Feb 12 16:49:00 2007 for libgnomedbmm by  doxygen 1.4.7