mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-10 23:46:20 +01:00
git-svn-id: svn://localhost/ardour2/branches/3.0@3435 d708f5d6-7413-0410-9779-e7cbd77b26cf
54 lines
1.9 KiB
C++
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
|
|
|