// -*- c++ -*- // Generated by gtkmmproc from ./../dock.gen_h -- DO NOT MODIFY! #ifndef _GNOMEMM_DOCK_H #define _GNOMEMM_DOCK_H /* $Id: dock.gen_h,v 1.8 2000/08/29 18:36:29 kenelson Exp $ */ /* dock.gen_h * * Copyright (C) 1999 The Gtk-- Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include #include namespace Gnome { class Dock; class Dock_Class; } namespace Gtk { Gnome::Dock *wrap (GnomeDock *o); } namespace Gnome { class DockItem; class DockLayout; //: Moveable Container //- GnomeDock is a container widget designed to let users move around //- widgets such as toolbars, menubars and so on. //- //- Every GnomeDock contains a widget called the "client area". On the //- four sides of the client area, there are four "dock areas", which can //- contain an arbitrary number of dockable widgets. All the dockable //- widgets should be GnomeDockItem widgets; the GnomeDockItem //- widget can in turn contain any kind of widget, and implements the //- dragging functionality: every GnomeDockItem has a handle that users //- can use to move them within the dock, or even move them outside it, so //- that they become "floating items". //- //- Every "dock area" is implemented by means of zero or more "dock //- bands": a dock band is a horizontal or vertical stripe containing one or //- more dock items, and is implemented by the GnomeDockBand widget. //- Items are ordered from top to bottom in vertical bands, and from left to //- right in horizontal bands. Every dock item in a band is given an offset //- value that defines the distance, in pixels, from the previous item in the //- same band; if the item is first in the band, the offset defines the distance //- from the start of the band. //- //- As a consequence, the position of an item in the dock can be specified //- by means of the following values: a "placement" specifying what area is //- being used (top, bottom, left, right), a "band number" specifying the //- number of the band within the specified area, a "position" within the //- band and a "offset" from the previous item in the same band. class Dock : public Gtk::Container { public: typedef Dock CppObjectType; typedef Dock_Class CppClassType; typedef GnomeDock BaseObjectType; typedef GnomeDockClass BaseClassType; private: friend class Dock_Class; static CppClassType dock_class; Dock(const Dock&); Dock& operator=(const Dock&); // not implemented protected: void initialize_class(); explicit Dock(GnomeDock *castitem); public: static GtkType get_type(); GnomeDock* gtkobj() { return (GnomeDock*)(gtkobject); } const GnomeDock* gtkobj() const { return (GnomeDock*)(gtkobject); } static bool isA(Gtk::Object *checkcast); // Hook for proxies static const char* const signal_names[]; virtual ~Dock(); private: public: Dock(); void allow_floating_items(bool enable); void add_item(Gnome::DockItem& item,GnomeDockPlacement placement,guint band_num,gint position,guint offset,bool in_new_band); void add_floating_item(Gnome::DockItem& widget,gint x,gint y,GtkOrientation orientation); void set_client_area(Gtk::Widget& widget); Gnome::DockItem* get_item_by_name(const Gtk::string& name,GnomeDockPlacement& placement_return,guint& num_band_return,guint& band_position_return,guint& offset_return); Gtk::Widget* get_client_area(); Gnome::DockLayout* get_layout(); bool add_from_layout(Gnome::DockLayout& layout); public: union { CppObjectType * dock_self; Gtk::ProxySignal0 layout_changed; }; protected: // impl functions virtual void layout_changed_impl(); }; } #endif .