Install ardour as a binary, a script and a set of shared
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / item.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_ITEM_H
4 #define _GTKMM_ITEM_H
5
6 #include <glibmm.h>
7
8 /* $Id$ */
9
10 /* item.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/bin.h>
30
31
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
33 typedef struct _GtkItem GtkItem;
34 typedef struct _GtkItemClass GtkItemClass;
35 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
36
37
38 namespace Gtk
39 { class Item_Class; } // namespace Gtk
40 namespace Gtk
41 {
42
43 /** This class should be considered as a virtual base class.
44  * Only the signals and methods it provides are of any interest.
45  * You don't want to instantiate any objects of that class.
46  *
47  * @ingroup Widgets
48  */
49
50 class Item : public Bin
51 {
52   public:
53 #ifndef DOXYGEN_SHOULD_SKIP_THIS
54   typedef Item CppObjectType;
55   typedef Item_Class CppClassType;
56   typedef GtkItem BaseObjectType;
57   typedef GtkItemClass BaseClassType;
58 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
59
60   virtual ~Item();
61
62 #ifndef DOXYGEN_SHOULD_SKIP_THIS
63
64 private:
65   friend class Item_Class;
66   static CppClassType item_class_;
67
68   // noncopyable
69   Item(const Item&);
70   Item& operator=(const Item&);
71
72 protected:
73   explicit Item(const Glib::ConstructParams& construct_params);
74   explicit Item(GtkItem* castitem);
75
76 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
77
78 public:
79 #ifndef DOXYGEN_SHOULD_SKIP_THIS
80   static GType get_type()      G_GNUC_CONST;
81   static GType get_base_type() G_GNUC_CONST;
82 #endif
83
84   ///Provides access to the underlying C GtkObject.
85   GtkItem*       gobj()       { return reinterpret_cast<GtkItem*>(gobject_); }
86
87   ///Provides access to the underlying C GtkObject.
88   const GtkItem* gobj() const { return reinterpret_cast<GtkItem*>(gobject_); }
89
90
91 public:
92   //C++ methods used to invoke GTK+ virtual functions:
93
94 protected:
95   //GTK+ Virtual Functions (override these to change behaviour):
96
97   //Default Signal Handlers::
98   virtual void on_select();
99   virtual void on_deselect();
100   virtual void on_toggle();
101
102
103 private:
104
105 public:
106
107   
108   void select();
109   
110
111   Glib::SignalProxy0< void > signal_select();
112
113
114   void deselect();
115   
116
117   Glib::SignalProxy0< void > signal_deselect();
118
119
120   void toggle();
121   
122
123   Glib::SignalProxy0< void > signal_toggle();
124
125
126 protected:
127   Item();
128
129
130 };
131
132 } /* namespace Gtk */
133
134
135 namespace Glib
136 {
137   /** @relates Gtk::Item
138    * @param object The C instance
139    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
140    * @result A C++ instance that wraps this C instance.
141    */
142   Gtk::Item* wrap(GtkItem* object, bool take_copy = false);
143 }
144 #endif /* _GTKMM_ITEM_H */
145