Reference Manual
Inti Logo
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

paned.h

Go to the documentation of this file.
00001 /*  Inti: Integrated Foundation Classes
00002  *  Copyright (C) 2002-2003 The Inti Development Team.
00003  *  Copyright (C) 2000 Red Hat, Inc.
00004  *
00005  *  This program is free software; you can redistribute it and/or modify
00006  *  it under the terms of the GNU General Public License as published by
00007  *  the Free Software Foundation; either version 2 of the License, or
00008  *  (at your option) any later version.
00009  *
00010  *  This program is distributed in the hope that it will be useful,
00011  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  *  GNU Library General Public License for more details.
00014  *
00015  *  You should have received a copy of the GNU Library General Public License
00016  *  along with this program; if not, write to the Free Software
00017  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
00018  */
00019  
00025 
00026 #ifndef INTI_GTK_PANED_H
00027 #define INTI_GTK_PANED_H
00028 
00029 #ifndef INTI_GTK_CONTAINER_H
00030 #include <inti/gtk/container.h>
00031 #endif
00032 
00033 #ifndef __GTK_HPANED_H__
00034 #include <gtk/gtkhpaned.h>
00035 #endif
00036 
00037 #ifndef __GTK_VPANED_H__
00038 #include <gtk/gtkvpaned.h>
00039 #endif
00040 
00041 namespace Inti {
00042         
00043 namespace Gtk {
00044 
00045 class PanedClass;
00046 class HPanedClass;
00047 class VPanedClass;
00048 
00085 
00086 class Paned : public Container
00087 {
00088         friend class G::Object;
00089         friend class PanedClass;
00090 
00091         Paned(const Paned&);
00092         Paned& operator=(const Paned&);
00093         
00094 protected:
00097 
00098         Paned();
00100 
00101         explicit Paned(GtkPaned *paned, bool reference = false);
00108 
00109         virtual ~Paned() = 0;
00111         
00113 //  Properties
00114 
00115         typedef G::Property<int> PositionPropertyType;
00116         typedef G::PropertyProxy<G::Object, PositionPropertyType> PositionPropertyProxy;
00117         static const PositionPropertyType position_property;
00118 
00119         typedef G::Property<bool> PositionSetPropertyType;
00120         typedef G::PropertyProxy<G::Object, PositionSetPropertyType> PositionSetPropertyProxy;
00121         static const PositionSetPropertyType position_set_property;
00122 
00123 public:
00126 
00127         GtkPaned* gtk_paned() const { return (GtkPaned*)instance; }
00129 
00130         GtkPanedClass* gtk_paned_class() const;
00132 
00133         operator GtkPaned* () const;
00135 
00136         Widget* child1() const;
00138 
00139         Widget* child2() const;
00141 
00142         Gdk::Window* handle() const;
00144 
00145         int get_position() const;
00147         
00151 
00152         void add1(Widget& child);
00157 
00158         void add2(Widget& child);
00163         
00164         void pack1(Widget& child, bool resize = false, bool shrink = true);
00169 
00170         void pack2(Widget& child, bool resize = true, bool shrink = true);
00175 
00176         void set_position(int position);
00179 
00183 
00184         const PositionPropertyProxy prop_position()
00185         {
00186                 return PositionPropertyProxy(this, &position_property);
00187         }
00189 
00190         const PositionSetPropertyProxy prop_position_set()
00191         {
00192                 return PositionSetPropertyProxy(this, &position_set_property);
00193         }
00195 
00197 };
00198 
00205 
00206 class HPaned : public Paned
00207 {
00208         friend class G::Object;
00209         friend class HPanedClass;
00210 
00211         HPaned(const HPaned&);
00212         HPaned& operator=(const HPaned&);
00213         
00214 protected:
00217 
00218         explicit HPaned(GtkHPaned *hpaned, bool reference = false);
00225         
00227 
00228 public:
00231 
00232         HPaned();
00234 
00235         virtual ~HPaned();
00237 
00241 
00242         GtkHPaned* gtk_hpaned() const { return (GtkHPaned*)instance; }
00244 
00245         GtkHPanedClass* gtk_hpaned_class() const;
00247 
00248         operator GtkHPaned* () const;
00250 
00252 };
00253 
00260 
00261 class VPaned : public Paned
00262 {
00263         friend class G::Object;
00264         friend class VPanedClass;
00265 
00266         VPaned(const VPaned&);
00267         VPaned& operator=(const VPaned&);
00268         
00269 protected:
00272 
00273         explicit VPaned(GtkVPaned *vpaned, bool reference = false);
00280 
00282 
00283 public:
00286 
00287         VPaned();
00289 
00290         virtual ~VPaned();
00292 
00296 
00297         GtkVPaned* gtk_vpaned() const { return (GtkVPaned*)instance; }
00299 
00300         GtkVPanedClass* gtk_vpaned_class() const;
00302 
00303         operator GtkVPaned* () const;
00305 
00307 };
00308 
00309 } // namespace Gtk
00310 
00311 } // namespace Inti
00312 
00313 #endif // INTI_GTK_PANED_H
00314 
Main Page - Footer


Generated on Sun Sep 14 20:08:03 2003 for Inti by doxygen 1.3.2 written by Dimitri van Heesch, © 1997-2002