Main Page - Header
Author: The Inti Development Team

Reference Manual

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