Install ardour as a binary, a script and a set of shared
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / arrow.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_ARROW_H
4 #define _GTKMM_ARROW_H
5
6 #include <glibmm.h>
7
8 /* $Id$ */
9
10 /* arrow.h
11  * 
12  * Copyright (C) 1998-2002 The gtkmm Development Team
13  *
14  * This library is free software; you can redistribute it and/or
15  * modify it under the terms of the GNU Library General Public
16  * License as published by the Free Software Foundation; either
17  * version 2 of the License, or (at your option) any later version.
18  *
19  * This library is distributed in the hope that it will be useful,
20  * but WITHOUT ANY WARRANTY; without even the implied warranty of
21  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
22  * Library General Public License for more details.
23  *
24  * You should have received a copy of the GNU Library General Public
25  * License along with this library; if not, write to the Free
26  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
27  */
28
29 #include <gtkmm/misc.h>
30
31
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
33 typedef struct _GtkArrow GtkArrow;
34 typedef struct _GtkArrowClass GtkArrowClass;
35 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
36
37
38 namespace Gtk
39 { class Arrow_Class; } // namespace Gtk
40 namespace Gtk
41 {
42
43 /** Produces an arrow pointing in one of the four cardinal directions.
44  *
45  * This is intended for use where a directional arrow (in one of the four
46  * cardinal directions) is desired. As such, it has very limited
47  * functionality and basically only draws itself in a particular direction
48  * and with a particular shadow type.
49  *
50  * Gtk::Arrow will fill any space alloted to it, but since it is inherited
51  * from Gtk::Misc, it can be padded and/or aligned, to fill exactly the
52  * space the programmer desires.
53  *
54  * @ingroup Widgets
55  */
56
57 class Arrow : public Misc {
58   public:
59 #ifndef DOXYGEN_SHOULD_SKIP_THIS
60   typedef Arrow CppObjectType;
61   typedef Arrow_Class CppClassType;
62   typedef GtkArrow BaseObjectType;
63   typedef GtkArrowClass BaseClassType;
64 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
65
66   virtual ~Arrow();
67
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS
69
70 private:
71   friend class Arrow_Class;
72   static CppClassType arrow_class_;
73
74   // noncopyable
75   Arrow(const Arrow&);
76   Arrow& operator=(const Arrow&);
77
78 protected:
79   explicit Arrow(const Glib::ConstructParams& construct_params);
80   explicit Arrow(GtkArrow* castitem);
81
82 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
83
84 public:
85 #ifndef DOXYGEN_SHOULD_SKIP_THIS
86   static GType get_type()      G_GNUC_CONST;
87   static GType get_base_type() G_GNUC_CONST;
88 #endif
89
90   ///Provides access to the underlying C GtkObject.
91   GtkArrow*       gobj()       { return reinterpret_cast<GtkArrow*>(gobject_); }
92
93   ///Provides access to the underlying C GtkObject.
94   const GtkArrow* gobj() const { return reinterpret_cast<GtkArrow*>(gobject_); }
95
96
97 public:
98   //C++ methods used to invoke GTK+ virtual functions:
99
100 protected:
101   //GTK+ Virtual Functions (override these to change behaviour):
102
103   //Default Signal Handlers::
104
105
106 private:
107
108 public:
109
110
111   /** Creates an arrow.
112    *
113    * @param arrow_type A Gtk::ArrowType enum describing the arrow direction.
114    * @param shadow_type A Gtk::ShadowType enum describing the shadow type of
115    * the arrow.
116    */
117   explicit Arrow(ArrowType arrow_type, ShadowType shadow_type);
118   
119
120   // Changes the direction and shadow of an arrow.
121   
122   /** Sets the direction and shadow of this Arrow.
123    * @param arrow_type A Gtk::ArrowType enum describing what arrow type to set this Arrow to.
124    * @param shadow_type A Gtk::ShadowType enum describing what shadow type to set this Arrow to.
125    */
126   void set(ArrowType arrow_type, ShadowType shadow_type);
127
128   /** The direction the arrow should point.
129    *
130    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
131    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
132    * the value of the property changes.
133    */
134   Glib::PropertyProxy<ArrowType> property_arrow_type() ;
135
136 /** The direction the arrow should point.
137    *
138    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
139    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
140    * the value of the property changes.
141    */
142   Glib::PropertyProxy_ReadOnly<ArrowType> property_arrow_type() const;
143
144   /** Appearance of the shadow surrounding the arrow.
145    *
146    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
147    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
148    * the value of the property changes.
149    */
150   Glib::PropertyProxy<ShadowType> property_shadow_type() ;
151
152 /** Appearance of the shadow surrounding the arrow.
153    *
154    * You rarely need to use properties because there are get_ and set_ methods for almost all of them.
155    * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when
156    * the value of the property changes.
157    */
158   Glib::PropertyProxy_ReadOnly<ShadowType> property_shadow_type() const;
159
160
161 };
162
163
164 } /* namespace Gtk */
165
166
167 namespace Glib
168 {
169   /** @relates Gtk::Arrow
170    * @param object The C instance
171    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
172    * @result A C++ instance that wraps this C instance.
173    */
174   Gtk::Arrow* wrap(GtkArrow* object, bool take_copy = false);
175 }
176 #endif /* _GTKMM_ARROW_H */
177