1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/*
* Copyright (C) 2002 The gtkmm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <gtkmm/container.h>
#include <gtkmm/scrollable.h>
#include <gdkmm/window.h>
_DEFS(gtkmm,gtk)
_PINCLUDE(gtkmm/private/container_p.h)
namespace Gtk
{
/** Infinite scrollable area containing child widgets and/or custom drawing.
*
* Gtk::Layout is similar to Gtk::DrawingArea in that it's a "blank slate"
* and doesn't do anything but paint a blank background by default. It's
* different in that it supports scrolling natively (You can add it directly
* to a Gtk::ScrolledWindow), and it can contain child widgets, since it's a
* Gtk::Container. However if you're just going to draw, a Gtk::DrawingArea
* is a better choice since it has lower overhead.
*
* @ingroup Widgets
* @ingroup Containers
*/
class Layout
: public Container,
public Scrollable
{
_CLASS_GTKOBJECT(Layout,GtkLayout,GTK_LAYOUT,Gtk::Container,GtkContainer)
_IMPLEMENTS_INTERFACE(Scrollable)
public:
_CTOR_DEFAULT
_WRAP_CTOR(Layout(const Glib::RefPtr<Adjustment>& hadjustment, const Glib::RefPtr<Adjustment>& vadjustment), gtk_layout_new)
_WRAP_METHOD(Glib::RefPtr<Gdk::Window> get_bin_window(), gtk_layout_get_bin_window, refreturn)
_WRAP_METHOD(Glib::RefPtr<const Gdk::Window> get_bin_window() const, gtk_layout_get_bin_window, refreturn, constversion)
_WRAP_METHOD(void put(Widget& child_widget, int x, int y), gtk_layout_put)
_WRAP_METHOD(void move(Widget& child_widget, int x, int y), gtk_layout_move)
_WRAP_METHOD(void set_size(guint width, guint height), gtk_layout_set_size)
_WRAP_METHOD(void get_size(guint& width, guint& height) const, gtk_layout_get_size)
_IGNORE(gtk_layout_get_hadjustment, gtk_layout_set_hadjustment,
gtk_layout_get_vadjustment, gtk_layout_set_vadjustment) //deprecated
_WRAP_PROPERTY("width", guint)
_WRAP_PROPERTY("height", guint)
_WRAP_CHILD_PROPERTY("x", int)
_WRAP_CHILD_PROPERTY("y", int)
};
} //namespace Gtk
|