summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gtk/gtkmm/adjustment.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/adjustment.h')
-rw-r--r--libs/gtkmm2/gtk/gtkmm/adjustment.h236
1 files changed, 236 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/adjustment.h b/libs/gtkmm2/gtk/gtkmm/adjustment.h
new file mode 100644
index 0000000000..2c45297cb4
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/adjustment.h
@@ -0,0 +1,236 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_ADJUSTMENT_H
+#define _GTKMM_ADJUSTMENT_H
+
+#include <glibmm.h>
+
+/* $Id$ */
+
+/* adjustment.h
+ *
+ * Copyright (C) 1998-2002 The gtkmm 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 <gtkmm/object.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+typedef struct _GtkAdjustment GtkAdjustment;
+typedef struct _GtkAdjustmentClass GtkAdjustmentClass;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+
+namespace Gtk
+{ class Adjustment_Class; } // namespace Gtk
+namespace Gtk
+{
+
+/** A class representing an adjustable bounded value.
+ *
+ * The Gtk::Adjustment object represents a value which has an associated
+ * lower and upper bound, together with step and page increments, and a page
+ * size. It is used within several gtkmm widgets, including
+ * Gtk::SpinButton, Gtk::Viewport, and Gtk::Range (which is a base class for
+ * Gtk::HScrollbar, Gtk::VScrollbar, Gtk::HScale, and Gtk::VScale).
+ *
+ * The Gtk::Adjustment object does not update the value itself. Instead it
+ * is left up to the owner of the Gtk::Adjustment to control the value.
+ *
+ * The owner of the Gtk::Adjustment typically calls the value_changed() and
+ * changed() functions after changing the value and its bounds. This results
+ * in the emission of the "value_changed" or "changed" signal respectively.
+ *
+ */
+
+class Adjustment : public Object
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef Adjustment CppObjectType;
+ typedef Adjustment_Class CppClassType;
+ typedef GtkAdjustment BaseObjectType;
+ typedef GtkAdjustmentClass BaseClassType;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ virtual ~Adjustment();
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+
+private:
+ friend class Adjustment_Class;
+ static CppClassType adjustment_class_;
+
+ // noncopyable
+ Adjustment(const Adjustment&);
+ Adjustment& operator=(const Adjustment&);
+
+protected:
+ explicit Adjustment(const Glib::ConstructParams& construct_params);
+ explicit Adjustment(GtkAdjustment* castitem);
+
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ static GType get_type() G_GNUC_CONST;
+ static GType get_base_type() G_GNUC_CONST;
+#endif
+
+ ///Provides access to the underlying C GtkObject.
+ GtkAdjustment* gobj() { return reinterpret_cast<GtkAdjustment*>(gobject_); }
+
+ ///Provides access to the underlying C GtkObject.
+ const GtkAdjustment* gobj() const { return reinterpret_cast<GtkAdjustment*>(gobject_); }
+
+
+public:
+ //C++ methods used to invoke GTK+ virtual functions:
+
+protected:
+ //GTK+ Virtual Functions (override these to change behaviour):
+
+ //Default Signal Handlers::
+ virtual void on_changed();
+ virtual void on_value_changed();
+
+
+private:
+
+public:
+
+ friend class Range;
+ friend class HScrollbar;
+ friend class VScrollbar;
+
+ /** Constructor to create an Adjustment object.
+ * @param value The initial value
+ * @param lower The minimum value
+ * @param upper The maximum value
+ * @param step_increment The step increment
+ * @param page_increment The page increment
+ * @param page_size The page size
+ */
+ Adjustment(double value,
+ double lower, double upper,
+ double step_increment = 1, double page_increment = 10,
+ double page_size = 0);
+
+
+ /** Emits a "changed" signal from the Adjustment. This is typically called by the owner of the Adjustment after it has changed any of the Adjustment fields other than the value.
+ */
+ void changed();
+
+ /** Emits a "value_changed" signal from the Adjustment. This is typically called by the owner of the Adjustment after it has changed the Adjustment value field.
+ */
+ void value_changed();
+
+
+ /** Updates the Adjustment value to ensure that the range between the parameters @a lower and @a upper is in the current page (i.e.\ between @a value and @a value + @a page_size ). If this range is larger than the page size, then only the start of it will be in the current page. A "changed" signal will be emitted if the value is changed.
+ * @param upper The upper value.
+ * @param lower The lower value.
+ */
+ void clamp_page(double lower, double upper);
+
+
+ /** Sets the current value of the Adjustment
+ * @param value The new value of the Adjustment.
+ */
+ void set_value(double value);
+
+ /** Gets the current value of the adjustment. See
+ * set_value().
+ * @return The current value of the adjustment.
+ */
+ double get_value() const;
+
+ // Other internal fields accessors
+ /** Retrieve the @a lower member variable.
+ * @return The current value of @a lower.
+ */
+ double get_lower() const;
+
+ /** Retrieve the @a upper member variable.
+ * @return The current value of @a upper.
+ */
+ double get_upper() const;
+
+ /** Retrieve the @a step_increment variable.
+ * @return The current value of @a step_increment.
+ */
+ double get_step_increment() const;
+
+ /** Retrieve the @a page_increment variable.
+ * @return The current value of @a page_increment.
+ */
+ double get_page_increment() const;
+
+ /** Retrieve the @a page_size variable.
+ * @return The current value of @a page_size.
+ */
+ double get_page_size() const;
+
+ // TODO: This section needs changing. We must be able to set more at a time,
+ // emitting "changed" signal only once.
+ /** Sets the @a lower member variable
+ * @param lower The value to set the @a lower member variable to.
+ */
+ void set_lower(double lower);
+
+ /** Sets the @a upper member variable
+ * @param upper The value to set the @a upper member variable to.
+ */
+ void set_upper(double upper);
+
+ /** Sets the @a step_increment member variable
+ * @param incr The value to set the @a step_incrememnt member variable to.
+ */
+ void set_step_increment(double incr);
+
+ /** Sets the @a page_increment member variable
+ * @param incr The value to set the @a page_increment member variable to.
+ */
+ void set_page_increment(double incr);
+
+ /** Sets the @a page_size member variable
+ * @param size The value to set the @ page_size member varialbe to.
+ */
+ void set_page_size(double size);
+
+
+ Glib::SignalProxy0< void > signal_changed();
+
+
+ Glib::SignalProxy0< void > signal_value_changed();
+
+
+};
+
+} /* namespace Gtk */
+
+
+namespace Glib
+{
+ /** @relates Gtk::Adjustment
+ * @param object The C instance
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ */
+ Gtk::Adjustment* wrap(GtkAdjustment* object, bool take_copy = false);
+}
+#endif /* _GTKMM_ADJUSTMENT_H */
+