1 // -*- c++ -*-
2 // Generated by gmmproc 2.40.0 -- DO NOT MODIFY!
3 #ifndef _CLUTTERMM_ACTION_H
4 #define _CLUTTERMM_ACTION_H
5 
6 
7 #include <glibmm/ustring.h>
8 #include <sigc++/sigc++.h>
9 
10 /* Copyright (C) 2010 The cluttermm Development Team
11  *
12  * This library is free software; you can redistribute it and/or
13  * modify it under the terms of the GNU Lesser General Public
14  * License as published by the Free Software Foundation; either
15  * version 2.1 of the License, or (at your option) any later version.
16  *
17  * This library is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20  * Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public
23  * License along with this library; if not, write to the Free
24  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25  */
26 
27 #include <glibmm/object.h>
28 #include <cluttermm/actor-meta.h>
29 
30 
31 #ifndef DOXYGEN_SHOULD_SKIP_THIS
32 typedef struct _ClutterAction ClutterAction;
33 typedef struct _ClutterActionClass ClutterActionClass;
34 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
35 
36 
37 namespace Clutter
38 { class Action_Class; } // namespace Clutter
39 namespace Clutter
40 {
41 
42 /** This is the base class for all actions.
43  *
44  * It is an abstract class that cannot be instantiated.
45  *
46  * Implementations of Clutter::Action are associated with an actor and can
47  * provide behavioral changes when dealing with user input - for instance
48  * drag and drop capabilities, scrolling, or panning - by using the
49  * various event-related signals provided by Clutter::Actor itself.
50  *
51  * @newin{1,4}
52  */
53 
54 class Action : public ActorMeta
55 {
56 
57 #ifndef DOXYGEN_SHOULD_SKIP_THIS
58 
59 public:
60   typedef Action CppObjectType;
61   typedef Action_Class CppClassType;
62   typedef ClutterAction BaseObjectType;
63   typedef ClutterActionClass BaseClassType;
64 
65 private:  friend class Action_Class;
66   static CppClassType action_class_;
67 
68 private:
69   // noncopyable
70   Action(const Action&);
71   Action& operator=(const Action&);
72 
73 protected:
74   explicit Action(const Glib::ConstructParams& construct_params);
75   explicit Action(ClutterAction* castitem);
76 
77 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
78 
79 public:
80   virtual ~Action();
81 
82   /** Get the GType for this class, for use with the underlying GObject type system.
83    */
84   static GType get_type()      G_GNUC_CONST;
85 
86 #ifndef DOXYGEN_SHOULD_SKIP_THIS
87 
88 
89   static GType get_base_type() G_GNUC_CONST;
90 #endif
91 
92   ///Provides access to the underlying C GObject.
gobj()93   ClutterAction*       gobj()       { return reinterpret_cast<ClutterAction*>(gobject_); }
94 
95   ///Provides access to the underlying C GObject.
gobj()96   const ClutterAction* gobj() const { return reinterpret_cast<ClutterAction*>(gobject_); }
97 
98   ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
99   ClutterAction* gobj_copy();
100 
101 private:
102 
103 
104 protected:
105   Action();
106 
107 public:
108   //There is no create() because this is an abstract base class.
109   //_WRAP_CREATE()
110 
111   //There are no functions.
112 
113   //there are no signals, properties, vfuncs
114 
115 
116 public:
117 
118 public:
119   //C++ methods used to invoke GTK+ virtual functions:
120 
121 protected:
122   //GTK+ Virtual Functions (override these to change behaviour):
123 
124   //Default Signal Handlers::
125 
126 
127 };
128 
129 } // namespace Clutter
130 
131 
132 namespace Glib
133 {
134   /** A Glib::wrap() method for this object.
135    *
136    * @param object The C instance.
137    * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
138    * @result A C++ instance that wraps this C instance.
139    *
140    * @relates Clutter::Action
141    */
142   Glib::RefPtr<Clutter::Action> wrap(ClutterAction* object, bool take_copy = false);
143 }
144 
145 
146 #endif /* _CLUTTERMM_ACTION_H */
147 
148