ardour/libs/gtkmm2/atk/src/relation.ccg
Paul Davis 449aab3c46 rollback to 3428, before the mysterious removal of libs/* at 3431/3432
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
2008-06-02 21:41:35 +00:00

54 lines
1.9 KiB
C++

// -*- c++ -*-
/* $Id: relation.ccg,v 1.2 2003/09/30 14:28:09 murrayc Exp $ */
/* 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 <atkmm/object.h>
#include <atk/atkobject.h>
#include <atk/atkrelation.h>
namespace Atk
{
//TODO: Implement this with the new GValue array thingy. See bug #74246.
Relation::Relation(const Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >& targets,
RelationType relationship)
:
Glib::Object((GObject*) atk_relation_new(const_cast<AtkObject**>(targets.data()), targets.size(),
(AtkRelationType) relationship))
{}
Glib::ArrayHandle< Glib::RefPtr<Atk::Object> > Relation::get_target()
{
GPtrArray *const parray = atk_relation_get_target(gobj());
return Glib::ArrayHandle< Glib::RefPtr<Atk::Object> >
(reinterpret_cast<AtkObject**>(parray->pdata), parray->len, Glib::OWNERSHIP_NONE);
}
Glib::ArrayHandle< Glib::RefPtr<const Atk::Object> > Relation::get_target() const
{
GPtrArray *const parray = atk_relation_get_target(const_cast<AtkRelation*>(gobj()));
return Glib::ArrayHandle< Glib::RefPtr<const Atk::Object> >
(reinterpret_cast<AtkObject**>(parray->pdata), parray->len, Glib::OWNERSHIP_NONE);
}
} // namespace Atk