rollback to 3428, before the mysterious removal of libs/* at 3431/3432
[ardour.git] / libs / gtkmm2 / atk / atkmm / noopobject.h
1 // -*- c++ -*-
2 // Generated by gtkmmproc -- DO NOT MODIFY!
3 #ifndef _ATKMM_NOOPOBJECT_H
4 #define _ATKMM_NOOPOBJECT_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 <atkmm/object.h>
29 #include <atkmm/component.h>
30 #include <atkmm/action.h>
31 #include <atkmm/editabletext.h>
32 #include <atkmm/image.h>
33 #include <atkmm/selection.h>
34 #include <atkmm/table.h>
35 #include <atkmm/value.h>
36 #include <atkmm/hypertext.h>
37
38
39 #ifndef DOXYGEN_SHOULD_SKIP_THIS
40 typedef struct _AtkNoOpObject AtkNoOpObject;
41 typedef struct _AtkNoOpObjectClass AtkNoOpObjectClass;
42 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
43
44
45 namespace Atk
46 { class NoOpObject_Class; } // namespace Atk
47 namespace Atk
48 {
49
50 /** An Atk::NoOpObject is an Atk::Object which purports to implement all ATK interfaces.
51  * It is the type of Atk::Object which is created if an accessible object is requested for an object type for which no
52  * factory type is specified.
53  */
54
55 class NoOpObject
56 :
57   public Atk::Object,
58   public Atk::Component,
59   public Atk::Action,
60   public Atk::EditableText,
61   public Atk::Image,
62   public Atk::Selection,
63   public Atk::Table,
64   public Atk::Text,
65   public Atk::Hypertext,
66   public Atk::Value
67 {
68   
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
70
71 public:
72   typedef NoOpObject CppObjectType;
73   typedef NoOpObject_Class CppClassType;
74   typedef AtkNoOpObject BaseObjectType;
75   typedef AtkNoOpObjectClass BaseClassType;
76
77 private:  friend class NoOpObject_Class;
78   static CppClassType noopobject_class_;
79
80 private:
81   // noncopyable
82   NoOpObject(const NoOpObject&);
83   NoOpObject& operator=(const NoOpObject&);
84
85 protected:
86   explicit NoOpObject(const Glib::ConstructParams& construct_params);
87   explicit NoOpObject(AtkNoOpObject* castitem);
88
89 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
90
91 public:
92   virtual ~NoOpObject();
93
94 #ifndef DOXYGEN_SHOULD_SKIP_THIS
95   static GType get_type()      G_GNUC_CONST;
96   static GType get_base_type() G_GNUC_CONST;
97 #endif
98
99   ///Provides access to the underlying C GObject.
100   AtkNoOpObject*       gobj()       { return reinterpret_cast<AtkNoOpObject*>(gobject_); }
101
102   ///Provides access to the underlying C GObject.
103   const AtkNoOpObject* gobj() const { return reinterpret_cast<AtkNoOpObject*>(gobject_); }
104
105   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
106   AtkNoOpObject* gobj_copy();
107
108 private:
109
110   
111 #ifndef DOXYGEN_SHOULD_SKIP_THIS
112   friend class Atk::Object_Class;
113 #endif
114
115
116 public:
117
118 public:
119   //C++ methods used to invoke GTK+ virtual functions:
120 #ifdef GLIBMM_VFUNCS_ENABLED
121 #endif //GLIBMM_VFUNCS_ENABLED
122
123 protected:
124   //GTK+ Virtual Functions (override these to change behaviour):
125 #ifdef GLIBMM_VFUNCS_ENABLED
126 #endif //GLIBMM_VFUNCS_ENABLED
127
128   //Default Signal Handlers::
129 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
130 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
131
132
133 };
134
135 } // namespace Atk
136
137
138 namespace Glib
139 {
140   /** A Glib::wrap() method for this object.
141    * 
142    * @param object The C instance.
143    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
144    * @result A C++ instance that wraps this C instance.
145    *
146    * @relates Atk::NoOpObject
147    */
148   Glib::RefPtr<Atk::NoOpObject> wrap(AtkNoOpObject* object, bool take_copy = false);
149 }
150
151
152 #endif /* _ATKMM_NOOPOBJECT_H */
153