add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / tearoffmenuitem.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_TEAROFFMENUITEM_H
4 #define _GTKMM_TEAROFFMENUITEM_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11
12 /* tearoffmenuitem.h
13  * 
14  * Copyright (C) 1998-2002 The gtkmm Development Team
15  *
16  * This library is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU Library General Public
18  * License as published by the Free Software Foundation; either
19  * version 2 of the License, or (at your option) any later version.
20  *
21  * This library is distributed in the hope that it will be useful,
22  * but WITHOUT ANY WARRANTY; without even the implied warranty of
23  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
24  * Library General Public License for more details.
25  *
26  * You should have received a copy of the GNU Library General Public
27  * License along with this library; if not, write to the Free
28  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
29  */
30
31 #include <gtkmm/menuitem.h>
32
33
34 #ifndef DOXYGEN_SHOULD_SKIP_THIS
35 typedef struct _GtkTearoffMenuItem GtkTearoffMenuItem;
36 typedef struct _GtkTearoffMenuItemClass GtkTearoffMenuItemClass;
37 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
38
39
40 namespace Gtk
41 { class TearoffMenuItem_Class; } // namespace Gtk
42 namespace Gtk
43 {
44
45 /** A special Gtk::MenuItem which is used to tear off and reattach its menu.
46  * When its menu is shown normally, the Gtk::TearoffMenuItem is drawn as a dotted line indicating that the menu can be torn off. Activating it causes its menu to be torn off and displayed in its own window.
47  * When its menu is shown as a tearoff menu, the Gtk::TearoffMenuItem is drawn as a dotted line which has a left pointing arrow graphic indicating that the tearoff menu can be reattached. Activating it will erase the tearoff menu window.
48  * @ingroup Widgets
49  * @ingroup Menus
50  */
51
52 class TearoffMenuItem : public MenuItem
53 {
54   public:
55 #ifndef DOXYGEN_SHOULD_SKIP_THIS
56   typedef TearoffMenuItem CppObjectType;
57   typedef TearoffMenuItem_Class CppClassType;
58   typedef GtkTearoffMenuItem BaseObjectType;
59   typedef GtkTearoffMenuItemClass BaseClassType;
60 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
61
62   virtual ~TearoffMenuItem();
63
64 #ifndef DOXYGEN_SHOULD_SKIP_THIS
65
66 private:
67   friend class TearoffMenuItem_Class;
68   static CppClassType tearoffmenuitem_class_;
69
70   // noncopyable
71   TearoffMenuItem(const TearoffMenuItem&);
72   TearoffMenuItem& operator=(const TearoffMenuItem&);
73
74 protected:
75   explicit TearoffMenuItem(const Glib::ConstructParams& construct_params);
76   explicit TearoffMenuItem(GtkTearoffMenuItem* castitem);
77
78 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
79
80 public:
81 #ifndef DOXYGEN_SHOULD_SKIP_THIS
82   static GType get_type()      G_GNUC_CONST;
83   static GType get_base_type() G_GNUC_CONST;
84 #endif
85
86   ///Provides access to the underlying C GtkObject.
87   GtkTearoffMenuItem*       gobj()       { return reinterpret_cast<GtkTearoffMenuItem*>(gobject_); }
88
89   ///Provides access to the underlying C GtkObject.
90   const GtkTearoffMenuItem* gobj() const { return reinterpret_cast<GtkTearoffMenuItem*>(gobject_); }
91
92
93 public:
94   //C++ methods used to invoke GTK+ virtual functions:
95 #ifdef GLIBMM_VFUNCS_ENABLED
96 #endif //GLIBMM_VFUNCS_ENABLED
97
98 protected:
99   //GTK+ Virtual Functions (override these to change behaviour):
100 #ifdef GLIBMM_VFUNCS_ENABLED
101 #endif //GLIBMM_VFUNCS_ENABLED
102
103   //Default Signal Handlers::
104 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
105 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
106
107
108 private:
109
110 public:
111   TearoffMenuItem();
112
113   bool is_torn_off() const;
114
115
116 };
117
118 } /* namespace Gtk */
119
120
121 namespace Glib
122 {
123   /** A Glib::wrap() method for this object.
124    * 
125    * @param object The C instance.
126    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
127    * @result A C++ instance that wraps this C instance.
128    *
129    * @relates Gtk::TearoffMenuItem
130    */
131   Gtk::TearoffMenuItem* wrap(GtkTearoffMenuItem* object, bool take_copy = false);
132 } //namespace Glib
133
134
135 #endif /* _GTKMM_TEAROFFMENUITEM_H */
136