add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / gtk / gtkmm / plug.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _GTKMM_PLUG_H
4 #define _GTKMM_PLUG_H
5
6
7 #include <glibmm.h>
8
9 /* $Id$ */
10
11 /* Copyright (C) 1998-2002 The gtkmm Development Team
12  *
13  * This library is free software; you can redistribute it and/or
14  * modify it under the terms of the GNU Library General Public
15  * License as published by the Free Software Foundation; either
16  * version 2 of the License, or (at your option) any later version.
17  *
18  * This library is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21  * Library General Public License for more details.
22  *
23  * You should have received a copy of the GNU Library General Public
24  * License along with this library; if not, write to the Free
25  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26  */
27
28 #include <gtkmm/window.h>
29
30
31 #ifndef DOXYGEN_SHOULD_SKIP_THIS
32 typedef struct _GtkPlug GtkPlug;
33 typedef struct _GtkPlugClass GtkPlugClass;
34 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
35
36
37 namespace Gtk
38 { class Plug_Class; } // namespace Gtk
39 namespace Gtk
40 {
41
42
43 class Plug : public Window
44 {
45   public:
46 #ifndef DOXYGEN_SHOULD_SKIP_THIS
47   typedef Plug CppObjectType;
48   typedef Plug_Class CppClassType;
49   typedef GtkPlug BaseObjectType;
50   typedef GtkPlugClass BaseClassType;
51 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
52
53   virtual ~Plug();
54
55 #ifndef DOXYGEN_SHOULD_SKIP_THIS
56
57 private:
58   friend class Plug_Class;
59   static CppClassType plug_class_;
60
61   // noncopyable
62   Plug(const Plug&);
63   Plug& operator=(const Plug&);
64
65 protected:
66   explicit Plug(const Glib::ConstructParams& construct_params);
67   explicit Plug(GtkPlug* castitem);
68
69 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
70
71 public:
72 #ifndef DOXYGEN_SHOULD_SKIP_THIS
73   static GType get_type()      G_GNUC_CONST;
74   static GType get_base_type() G_GNUC_CONST;
75 #endif
76
77   ///Provides access to the underlying C GtkObject.
78   GtkPlug*       gobj()       { return reinterpret_cast<GtkPlug*>(gobject_); }
79
80   ///Provides access to the underlying C GtkObject.
81   const GtkPlug* gobj() const { return reinterpret_cast<GtkPlug*>(gobject_); }
82
83
84 public:
85   //C++ methods used to invoke GTK+ virtual functions:
86 #ifdef GLIBMM_VFUNCS_ENABLED
87 #endif //GLIBMM_VFUNCS_ENABLED
88
89 protected:
90   //GTK+ Virtual Functions (override these to change behaviour):
91 #ifdef GLIBMM_VFUNCS_ENABLED
92 #endif //GLIBMM_VFUNCS_ENABLED
93
94   //Default Signal Handlers::
95 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
96   virtual void on_embedded();
97 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
98
99
100 private:
101
102   
103   //This is not available in on Win32.
104 //This source file will not be compiled,
105 //and the class will not be registered in wrap_init.h or wrap_init.cc
106
107 public:
108   Plug();
109   explicit Plug(GdkNativeWindow socket_id);
110   explicit Plug(const Glib::RefPtr<Gdk::Display>& display, GdkNativeWindow socket_id);
111
112   
113   /** Gets the window ID of a Gtk::Plug widget, which can then
114    * be used to embed this window inside another window, for
115    * instance with Gtk::Socket::add_id().
116    * @return The window ID for the plug.
117    */
118   GdkNativeWindow get_id() const;
119
120   
121   /**
122    * @par Prototype:
123    * <tt>void on_my_%embedded()</tt>
124    */
125
126   Glib::SignalProxy0< void > signal_embedded();
127
128
129 };
130
131 } /* namespace Gtk */
132
133
134 namespace Glib
135 {
136   /** A Glib::wrap() method for this object.
137    * 
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    * @relates Gtk::Plug
143    */
144   Gtk::Plug* wrap(GtkPlug* object, bool take_copy = false);
145 } //namespace Glib
146
147
148 #endif /* _GTKMM_PLUG_H */
149