2
// Generated by gtkmmproc -- DO NOT MODIFY!
3
#ifndef _ATKMM_STATESET_H
4
#define _ATKMM_STATESET_H
10
/* Copyright (C) 1998-2002 The gtkmm Development Team
12
* This library is free software; you can redistribute it and/or
13
* modify it under the terms of the GNU Library General Public
14
* License as published by the Free Software Foundation; either
15
* version 2 of the License, or (at your option) any later version.
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
* Library General Public License for more details.
22
* You should have received a copy of the GNU Library 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.
28
#ifndef DOXYGEN_SHOULD_SKIP_THIS
29
typedef struct _AtkStateSet AtkStateSet;
30
typedef struct _AtkStateSetClass AtkStateSetClass;
31
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
35
{ class StateSet_Class; } // namespace Atk
40
/** @addtogroup atkmmEnums Enums and Flags */
63
STATE_MULTISELECTABLE,
76
STATE_MANAGES_DESCENDANTS,
85
#ifndef DOXYGEN_SHOULD_SKIP_THIS
90
class Value<Atk::StateType> : public Glib::Value_Enum<Atk::StateType>
93
static GType value_type() G_GNUC_CONST;
97
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
104
/** An AtkStateSet determines a component's state set.
105
* It is composed of a set of Atk::States.
108
class StateSet : public Glib::Object
111
#ifndef DOXYGEN_SHOULD_SKIP_THIS
114
typedef StateSet CppObjectType;
115
typedef StateSet_Class CppClassType;
116
typedef AtkStateSet BaseObjectType;
117
typedef AtkStateSetClass BaseClassType;
119
private: friend class StateSet_Class;
120
static CppClassType stateset_class_;
124
StateSet(const StateSet&);
125
StateSet& operator=(const StateSet&);
128
explicit StateSet(const Glib::ConstructParams& construct_params);
129
explicit StateSet(AtkStateSet* castitem);
131
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
136
#ifndef DOXYGEN_SHOULD_SKIP_THIS
137
static GType get_type() G_GNUC_CONST;
138
static GType get_base_type() G_GNUC_CONST;
141
///Provides access to the underlying C GObject.
142
AtkStateSet* gobj() { return reinterpret_cast<AtkStateSet*>(gobject_); }
144
///Provides access to the underlying C GObject.
145
const AtkStateSet* gobj() const { return reinterpret_cast<AtkStateSet*>(gobject_); }
147
///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
148
AtkStateSet* gobj_copy();
158
static Glib::RefPtr<StateSet> create();
161
/** Checks whether the state set is empty, i.e.\ has no states set.
162
* @return <tt>true</tt> if @a set has no states set, otherwise <tt>false</tt>.
164
bool is_empty() const;
166
//Note that we use Atk::StateType instead of StateType, because there is a Gtk::StateType too, and Doxygen gets confused.
168
/** Add a new state for the specified type to the current state set if
169
* it is not already present.
170
* @param type An Atk::StateType.
171
* @return <tt>true</tt> if the state for @a type is not already in @a set .
173
bool add_state(Atk::StateType type);
174
void add_states(const Glib::ArrayHandle<Atk::StateType>& types);
177
/** Removes all states from the state set.
181
/** Checks whether the state for the specified type is in the specified set.
182
* @param type An Atk::StateType.
183
* @return <tt>true</tt> if @a type is the state type is in @a set .
185
bool contains_state(Atk::StateType type);
186
bool contains_states(const Glib::ArrayHandle<Atk::StateType>& types) const;
189
/** Removes the state for the specified type from the state set.
190
* @param type An Atk::Type.
191
* @return <tt>true</tt> if @a type was the state type is in @a set .
193
bool remove_state(Atk::StateType type);
195
/** Constructs the intersection of the two sets, returning <tt>0</tt> if the
196
* intersection is empty.
197
* @param compare_set Another Atk::StateSet.
198
* @return A new Atk::StateSet which is the intersection of the two sets.
200
Glib::RefPtr<StateSet> and_sets(const Glib::RefPtr<StateSet>& compare_set);
202
/** Constructs the union of the two sets.
203
* @param compare_set Another Atk::StateSet.
204
* @return A new Atk::StateSet which is the union of the two sets,
205
* returning <tt>0</tt> is empty.
207
Glib::RefPtr<StateSet> or_sets(const Glib::RefPtr<StateSet>& compare_set);
209
/** Constructs the exclusive-or of the two sets, returning <tt>0</tt> is empty.
210
* The set returned by this operation contains the states in exactly
211
* one of the two sets.
212
* @param compare_set Another Atk::StateSet.
213
* @return A new Atk::StateSet which contains the states which are
214
* in exactly one of the two sets.
216
Glib::RefPtr<StateSet> xor_sets(const Glib::RefPtr<StateSet>& compare_set);
222
//C++ methods used to invoke GTK+ virtual functions:
225
//GTK+ Virtual Functions (override these to change behaviour):
227
//Default Signal Handlers::
237
/** @relates Atk::StateSet
238
* @param object The C instance
239
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
240
* @result A C++ instance that wraps this C instance.
242
Glib::RefPtr<Atk::StateSet> wrap(AtkStateSet* object, bool take_copy = false);
246
#endif /* _ATKMM_STATESET_H */