// Generated by gtkmmproc -- DO NOT MODIFY! #include <atkmm/relationset.h> #include <atkmm/private/relationset_p.h> // -*- c++ -*- /* $Id: relationset.cc 4 2005-05-13 20:47:18Z taybin $ */ /* Copyright 1998-2002 The gtkmm Development Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #include <atk/atkobject.h> #include <atk/atkrelationset.h> namespace { } // anonymous namespace namespace Glib { 00038 Glib::RefPtr<Atk::RelationSet> wrap(AtkRelationSet* object, bool take_copy) { return Glib::RefPtr<Atk::RelationSet>( dynamic_cast<Atk::RelationSet*> (Glib::wrap_auto ((GObject*)(object), take_copy)) ); //We use dynamic_cast<> in case of multiple inheritance. } } /* namespace Glib */ namespace Atk { /* The *_Class implementation: */ const Glib::Class& RelationSet_Class::init() { if(!gtype_) // create the GType if necessary { // Glib::Class has to know the class init function to clone custom types. class_init_func_ = &RelationSet_Class::class_init_function; // This is actually just optimized away, apparently with no harm. // Make sure that the parent type has been created. //CppClassParent::CppObjectType::get_type(); // Create the wrapper type, with the same class/instance size as the base type. register_derived_type(atk_relation_set_get_type()); // Add derived versions of interfaces, if the C type implements any interfaces: } return *this; } void RelationSet_Class::class_init_function(void* g_class, void* class_data) { BaseClassType *const klass = static_cast<BaseClassType*>(g_class); CppClassParent::class_init_function(klass, class_data); } Glib::ObjectBase* RelationSet_Class::wrap_new(GObject* object) { return new RelationSet((AtkRelationSet*)object); } /* The implementation: */ 00089 AtkRelationSet* RelationSet::gobj_copy() { reference(); return gobj(); } RelationSet::RelationSet(const Glib::ConstructParams& construct_params) : Glib::Object(construct_params) {} RelationSet::RelationSet(AtkRelationSet* castitem) : Glib::Object((GObject*)(castitem)) {} RelationSet::~RelationSet() {} RelationSet::CppClassType RelationSet::relationset_class_; // initialize static member GType RelationSet::get_type() { return relationset_class_.init().get_type(); } GType RelationSet::get_base_type() { return atk_relation_set_get_type(); } RelationSet::RelationSet() : Glib::ObjectBase(0), //Mark this class as gtkmmproc-generated, rather than a custom class, to allow vfunc optimisations. Glib::Object(Glib::ConstructParams(relationset_class_.init())) { } Glib::RefPtr<RelationSet> RelationSet::create() { return Glib::RefPtr<RelationSet>( new RelationSet() ); } 00133 bool RelationSet::set_contains(RelationType relationship) { return atk_relation_set_contains(gobj(), ((AtkRelationType)(relationship))); } 00138 void RelationSet::set_remove(const Glib::RefPtr<Relation>& relation) { atk_relation_set_remove(gobj(), Glib::unwrap(relation)); } 00143 void RelationSet::set_add(const Glib::RefPtr<Relation>& relation) { atk_relation_set_add(gobj(), Glib::unwrap(relation)); } 00148 int RelationSet::get_n_relations() const { return atk_relation_set_get_n_relations(const_cast<AtkRelationSet*>(gobj())); } 00153 Glib::RefPtr<Relation> RelationSet::get_relation(gint i) { Glib::RefPtr<Relation> retvalue = Glib::wrap(atk_relation_set_get_relation(gobj(), i)); if(retvalue) retvalue->reference(); //The function does not do a ref for us. return retvalue; } 00163 Glib::RefPtr<Relation> RelationSet::get_relation(RelationType relationship) { Glib::RefPtr<Relation> retvalue = Glib::wrap(atk_relation_set_get_relation_by_type(gobj(), ((AtkRelationType)(relationship)))); if(retvalue) retvalue->reference(); //The function does not do a ref for us. return retvalue; } void RelationSet::add_relation_by_type(RelationType relationship, const Glib::RefPtr<Atk::Object>& target) { atk_relation_set_add_relation_by_type(gobj(), ((AtkRelationType)(relationship)), Glib::unwrap(target)); } } // namespace Atk