Developer Documentation

DataControlPluginScripting.cc
1 /*===========================================================================*\
2 * *
3 * OpenFlipper *
4 * Copyright (c) 2001-2015, RWTH-Aachen University *
5 * Department of Computer Graphics and Multimedia *
6 * All rights reserved. *
7 * www.openflipper.org *
8 * *
9 *---------------------------------------------------------------------------*
10 * This file is part of OpenFlipper. *
11 *---------------------------------------------------------------------------*
12 * *
13 * Redistribution and use in source and binary forms, with or without *
14 * modification, are permitted provided that the following conditions *
15 * are met: *
16 * *
17 * 1. Redistributions of source code must retain the above copyright notice, *
18 * this list of conditions and the following disclaimer. *
19 * *
20 * 2. Redistributions in binary form must reproduce the above copyright *
21 * notice, this list of conditions and the following disclaimer in the *
22 * documentation and/or other materials provided with the distribution. *
23 * *
24 * 3. Neither the name of the copyright holder nor the names of its *
25 * contributors may be used to endorse or promote products derived from *
26 * this software without specific prior written permission. *
27 * *
28 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
29 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED *
30 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A *
31 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER *
32 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, *
33 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, *
34 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR *
35 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF *
36 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING *
37 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS *
38 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *
39 * *
40 \*===========================================================================*/
41
42
43
44
45
46
47 #include "DataControlPlugin.hh"
48
49
50 //******************************************************************************
51
52 void DataControlPlugin::setDescriptions(){
53
54 emit setSlotDescription("getSourceObjects(DataType)",tr("Returns the IdList of all source objects with given DataType."),
55 QStringList(tr("Datatype")), QStringList(tr("Datatype of the objects")));
56
57 emit setSlotDescription("getTargetObjects(DataType)",tr("Returns the IdList of all target objects with given DataType."),
58 QStringList(tr("Datatype")), QStringList(tr("Datatype of the objects")));
59
60 emit setSlotDescription("getObject(QString)",tr("Returns the id of an object with given name."),
61 QStringList(tr("Name")), QStringList(tr("Name of an object")));
62
63 emit setSlotDescription("getObjectName(int)",tr("Returns the name of an object with given id."),
64 QStringList(tr("objectId")), QStringList(tr("ID of an object")));
65
66 emit setSlotDescription("dataType(int)",tr("Returns the DataType of the object with the given id."),
67 QStringList(tr("objectId")), QStringList(tr("ID of an object")));
68
69 emit setSlotDescription("hideObject(int)",tr("Hide object with the given id."),
70 QStringList(tr("objectId")), QStringList(tr("ID of an object")));
71
72 emit setSlotDescription("showObject(int)",tr("Show object with the given id."),
73 QStringList(tr("objectId")), QStringList(tr("ID of an object")));
74
75 emit setSlotDescription("setTarget(int,bool)",tr("Set given object as target."),
76 QString(tr("ObjectId,Target")).split(","),
77 QString(tr("id of the object, set object as target?")).split(","));
78
79 emit setSlotDescription("setSource(int,bool)",tr("Set given object as source."),
80 QString(tr("ObjectId,Source")).split(","),
81 QString(tr("id of the object, set object as source?")).split(","));
82
83 emit setSlotDescription("setObjectName(int,QString)",tr("Set name of given object."),
84 QString(tr("ObjectId,name")).split(","),
85 QString(tr("id of the object, the new name")).split(","));
86
87 emit setSlotDescription("addEmptyGroup(QString)", tr("Create new empty group."),
88 QStringList(tr("GroupName")),
89 QStringList(tr("Name of the new group.")));
90
91 emit setSlotDescription("addEmptyGroup(QString,int)", tr("Create new empty group."),
92 QString(tr("GroupName,Parent")).split(","),
93 QString(tr("Name of the new group., Parent of the new group, or -1, if there is no parent.")).split(","));
94
95 emit setSlotDescription("groupObjects(IdList,QString)",tr("Group given Objects together."),
96 QString(tr("objectIds,groupName")).split(","),
97 QString(tr("List of objects that should be grouped., Name of the group.")).split(","));
98
99 emit setSlotDescription("groupObjects(IdList)",tr("Group given Objects together."),
100 QStringList(tr("objectIds")), QStringList(tr("List of objects that should be grouped.")));
101
102 emit setSlotDescription("groupCount()",tr("Returns the number of group objects."),
103 QStringList(tr("")), QStringList(tr("")));
104
105 emit setSlotDescription("unGroupObject(int)",tr("Remove the given object from its group and append to root node."),
106 QStringList(tr("ObjectId")), QStringList(tr("Object to be removed from group.")));
107
108 emit setSlotDescription("objectDelete(int)",tr("Delete an object"),
109 QStringList(tr("objectId")), QStringList(tr("Delete the given object.")));
110
111 emit setSlotDescription("getGroupElements(int)",tr("Get elements of a group"),
112 QStringList(tr("groupId")), QStringList(tr("Id of the group.")));
113
114 emit setSlotDescription("copyObject(int)",tr("Create a copy of an object"),
115 QStringList(tr("objectId")), QStringList(tr("Object to copy.")));
116
117 emit setSlotDescription("setAllTarget()",tr("Set All objects as targets"),
118 QStringList(), QStringList());
119
120 emit setSlotDescription("setAllSource()",tr("Set All objects as source"),
121 QStringList(), QStringList());
122
123 emit setSlotDescription("clearAllTarget()",tr("Clear targets"),
124 QStringList(), QStringList());
125
126 emit setSlotDescription("clearAllSource()",tr("Clear sources"),
127 QStringList(), QStringList());
128
129 emit setSlotDescription("showAll()",tr("Show all objects"),
130 QStringList(), QStringList());
131
132 emit setSlotDescription("hideAll()",tr("Hide all objects"),
133 QStringList(), QStringList());
134
135 emit setSlotDescription("availableDataTypeNames()",tr("Returns a QStringList of all available DataType names."),
136 QStringList(tr("")), QStringList(tr("")));
137
138 emit setSlotDescription("printObjectInfoToLog()",tr("Print info about all objects to log"),
139 QStringList(), QStringList());
140
141 emit setSlotDescription("addObjectToGroup(int,int)",tr("Add an Object to an existing group"),
142 QStringList(tr("objectId,groupId").split(",")),
143 QStringList(tr("ID of an object.,ID of an group where the object has to be added.").split(",")));
144
145 }
146
147
148 //******************************************************************************
149
155 int DataControlPlugin::getObject( QString _name ) {
156
157 BaseObject* object = PluginFunctions::objectRoot()->childExists(_name);
158
159 if ( object == 0)
160 return -1;
161
162 return object->id();
163 }
164
165
166 //******************************************************************************
167
173 int DataControlPlugin::copyObject( int objectId ) {
174
175 int newObject;
176
177 emit copyObject( objectId, newObject );
178
179 return newObject;
180 }
181
182
183 //******************************************************************************
184
190 QString DataControlPlugin::getObjectName( int objectId ) {
191
192 BaseObjectData* object;
193 if ( ! PluginFunctions::getObject(objectId,object) ) {
194 emit log(LOGERR,tr("getObjectName : unable to get object") );
195 return QString(tr("Unknown Object"));
196 } else
197 return object->name() ;
198
199 }
200
201 //******************************************************************************
202
204 DataType DataControlPlugin::dataType( int _objectId ) {
205 BaseObject* object = 0;
206 PluginFunctions::getObject(_objectId,object);
207
208 if ( object )
209 return object->dataType();
210 else
211 return DATA_UNKNOWN;
212 }
213
214
215 //******************************************************************************
216
221 void DataControlPlugin::hideObject( int objectId ) {
222
223 if ( ! OpenFlipper::Options::gui())
224 return;
225
226 BaseObjectData* object;
227 if ( PluginFunctions::getObject(objectId,object) ){
228 object->hide();
229 }
230
231 }
232
233
234 //******************************************************************************
235
241 void DataControlPlugin::setTarget( int objectId, bool _target ) {
242
243 BaseObjectData* object;
244 if ( PluginFunctions::getObject(objectId,object) ){
245 object->target( _target );
246 }
247 }
248
249
250 //******************************************************************************
251
257 void DataControlPlugin::setSource( int objectId, bool _source ) {
258
259 BaseObjectData* object;
260 if ( PluginFunctions::getObject(objectId,object) ){
261 object->source( _source );
262 }
263
264 }
265
266
267 //******************************************************************************
268
274 void DataControlPlugin::setObjectName( int objectId, QString _name ) {
275
276 BaseObjectData* object;
277 if ( PluginFunctions::getObject(objectId,object) ){
278 object->setName( _name );
279 }
280 }
281
282
283 //******************************************************************************
284
289 void DataControlPlugin::objectDelete( int objectId ) {
290
291 BaseObjectData* object;
292 if ( ! PluginFunctions::getObject(objectId,object) )
293 return;
294
295 if ( object == 0)
296 return;
297
298 emit deleteObject(objectId);
299 }
300
301
302 //******************************************************************************
303
308 void DataControlPlugin::showObject( int objectId ) {
309
310 if ( ! OpenFlipper::Options::gui())
311 return;
312
313 BaseObjectData* object;
314 if ( PluginFunctions::getObject(objectId,object) ){
315 object->show();
316 }
317
318 }
319
320
321 //******************************************************************************
322
328 int DataControlPlugin::addEmptyGroup(QString _groupName, int _parentGroupId) {
329 GroupObject* parentGroupObject = dynamic_cast<GroupObject*>(PluginFunctions::objectRoot());
330 BaseObject* parentObject = 0;
331 if (PluginFunctions::getObject(_parentGroupId, parentObject)) {
332 GroupObject* parent = dynamic_cast<GroupObject*>(parentObject);
333 if (parent) {
334 parentGroupObject = parent;
335 } else {
336 emit log(LOGWARN, tr("Parent object %1 is not a group, creating a new toplevel group").arg(_parentGroupId));
337 }
338 } else if (_parentGroupId != 0 ) {
339 emit log(LOGWARN, tr("Cannot get parent object %1, creating a new toplevel group").arg(_parentGroupId));
340 }
341
342 GroupObject* groupObject = new GroupObject("newGroup", parentGroupObject);
343
344 if (_groupName == "") {
345 groupObject->setName(tr("New group ") + QString::number(groupObject->id()));
346 } else {
347 groupObject->setName(_groupName);
348 }
349
350 emit emptyObjectAdded(groupObject->id());
351
352 return groupObject->id();
353 }
354
355 //******************************************************************************
356
362 int DataControlPlugin::groupObjects(IdList _objectIDs, QString _groupName) {
363 QVector< BaseObject* > objs;
364
365 // Try to get all objects given in list
366 for (uint i=0; i < _objectIDs.size(); i++){
367 BaseObject* obj;
368 if ( PluginFunctions::getObject(_objectIDs[i],obj) )
369 objs.push_back(obj);
370 }
371
372 // If all of them fail, stop here.
373 if (objs.size() == 0){
374 emit log(tr("No objects to group."));
375 return -1;
376 }
377
378 // Check if all objects have the same parent
379 // Abort if the parents differ
380 BaseObject* parent = (objs[0])->parent();
381 for ( int i = 1 ; i < objs.size() ; ++i){
382 if ( parent != (objs[i])->parent() ){
383 emit log(tr("Cannot group Objects with different parents"));
384 return -1;
385 }
386
387 }
388
389 //create new group
390 int groupId = addEmptyGroup(_groupName);
391 BaseObject *groupItem = 0;
392 PluginFunctions::getObject(groupId, groupItem);
393
394 if (parent) {
395 groupItem->setParent(parent);
396 }
397
398 IdList ids;
399 //append new children to group
400 for ( int i = 0 ; i < objs.size() ; ++i)
401 {
402 (objs[i])->setParent(groupItem);
403 ids.push_back((objs[i])->id());
404 }
405
406 emit objectsGrouped(ids);
407 emit updatedObject(groupId,UPDATE_ALL);
408
409 return groupId;
410 }
411
412 //******************************************************************************
413
414 bool DataControlPlugin::unGroupObject(int _id) {
415 BaseObject* group = 0;
416
417 PluginFunctions::getObject(_id,group);
418
419 if ( group && group->isGroup())
420 {
421 //iterate over children
422 for (int i=group->childCount()-1; i >= 0; --i){
423 BaseObject* child = group->child(i);
424
425 // then change the parent
426 child->setParent(group->parent());
427 }
428 //delete the group
429 emit deleteObject( group->id() );
430
431 return true;
432 } else {
433 if (group)
434 emit log( LOGERR, tr("Cannot Ungroup. Object with id %1 is not a group").arg(_id));
435 else
436 emit log( LOGERR, tr( "Unable to get Object with id %1 for ungrouping").arg(_id) );
437 return false;
438 }
439 }
440
441
442 //******************************************************************************
443
447 void DataControlPlugin::setAllTarget() {
448
449 DataType type = DATA_ALL;
450
451 //try to find dataType restriction if called by contextMenu
452 QAction* action = dynamic_cast< QAction* > ( sender() );
453
454 if ( action != 0 && action->data().isValid() )
455 type = (DataType) action->data().toUInt();
456
457 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS, type) ;
458 o_it != PluginFunctions::objectsEnd(); ++o_it){
459 o_it->target(true);
460 }
461 }
462
463
464 //******************************************************************************
465
469 void DataControlPlugin::setAllSource() {
470
471 DataType type = DATA_ALL;
472
473 //try to find dataType restriction if called by contextMenu
474 QAction* action = dynamic_cast< QAction* > ( sender() );
475
476 if ( action != 0 && action->data().isValid() )
477 type = (DataType) action->data().toUInt();
478
479 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS, type) ;
480 o_it != PluginFunctions::objectsEnd(); ++o_it){
481 o_it->source(true);
482 }
483 }
484
485
486 //******************************************************************************
487
491 void DataControlPlugin::clearAllTarget() {
492
493 DataType type = DATA_ALL;
494
495 //try to find dataType restriction if called by contextMenu
496 QAction* action = dynamic_cast< QAction* > ( sender() );
497
498 if ( action != 0 && action->data().isValid() )
499 type = (DataType) action->data().toUInt();
500
501 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS, type) ;
502 o_it != PluginFunctions::objectsEnd(); ++o_it){
503 o_it->target(false);
504 }
505 }
506
507
508 //******************************************************************************
509
513 void DataControlPlugin::clearAllSource() {
514
515 DataType type = DATA_ALL;
516
517 //try to find dataType restriction if called by contextMenu
518 QAction* action = dynamic_cast< QAction* > ( sender() );
519
520 if ( action != 0 && action->data().isValid() )
521 type = (DataType) action->data().toUInt();
522
523 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS, type) ;
524 o_it != PluginFunctions::objectsEnd(); ++o_it){
525 o_it->source(false);
526 }
527 }
528
529
530 //******************************************************************************
531
535 void DataControlPlugin::hideAll() {
536
537 if ( ! OpenFlipper::Options::gui())
538 return;
539
540 DataType type = DATA_ALL;
541
542 //try to find dataType restriction if called by contextMenu
543 QAction* action = dynamic_cast< QAction* > ( sender() );
544
545 if ( action != 0 && action->data().isValid() )
546 type = (DataType) action->data().toUInt();
547
548 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS,type) ;
549 o_it != PluginFunctions::objectsEnd(); ++o_it){
550 o_it->hide();
551 }
552
553 }
554
555
556 //******************************************************************************
557
561 void DataControlPlugin::showAll() {
562
563 if ( ! OpenFlipper::Options::gui())
564 return;
565
566 DataType type = DATA_ALL;
567
568 //try to find dataType restriction if called by contextMenu
569 QAction* action = dynamic_cast< QAction* > ( sender() );
570
571 if ( action != 0 && action->data().isValid() )
572 type = (DataType) action->data().toUInt();
573
574 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS, type); o_it != PluginFunctions::objectsEnd(); ++o_it){
575 o_it->show();
576 }
577
578 }
579
580 //******************************************************************************
581
585 IdList DataControlPlugin::getTargetObjects(DataType _type) {
586
587 IdList list;
588
589 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::TARGET_OBJECTS, _type); o_it != PluginFunctions::objectsEnd(); ++o_it)
590 list.push_back( o_it->id() );
591
592 return list;
593 }
594
595 //******************************************************************************
596
600 IdList DataControlPlugin::getSourceObjects(DataType _type) {
601
602 IdList list;
603
604 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::SOURCE_OBJECTS, _type); o_it != PluginFunctions::objectsEnd(); ++o_it)
605 list.push_back( o_it->id() );
606
607 return list;
608 }
609
610 //******************************************************************************
611
615 void DataControlPlugin::printObjectInfoToLog() {
616
617 for ( PluginFunctions::ObjectIterator o_it(PluginFunctions::ALL_OBJECTS); o_it != PluginFunctions::objectsEnd(); ++o_it)
618 emit log(LOGINFO, tr("Object \"%1\" with ID %2 of type %3 ").arg(o_it->name()).arg(o_it->id()).arg(o_it->dataType().name()));
619 }
620
621 //******************************************************************************
622
629 unsigned int DataControlPlugin::groupCount() const {
630 unsigned int count = 0;
631 for ( PluginFunctions::BaseObjectIterator o_it(PluginFunctions::ALL_OBJECTS,DATA_GROUP); o_it != PluginFunctions::objectsEnd(); ++o_it)
632 ++count;
633
634 return count;
635 }
636
637 //******************************************************************************
638
645 QString DataControlPlugin::availableDataTypeNames() const {
646
647 QString list;
648
649 for ( std::vector< TypeInfo >::const_iterator dataType = typesBegin(); dataType != typesEnd(); ++dataType )
650 list.append(dataType->name + "\n");
651
652 return list;
653 }
654
655 //******************************************************************************
662 bool DataControlPlugin::addObjectToGroup(int _objectId, int _groupId)
663 {
664 BaseObject* obj = 0;
665 BaseObject* group = 0;
666
667 PluginFunctions::getObject(_objectId,obj);
668 PluginFunctions::getObject(_groupId,group);
669
670 if ( obj && group)
671 {
672 if (group->isGroup())
673 {
674 obj->setParent(group);
675 return true;
676 }
677 else
678 emit log( LOGERR, tr(" Object with id %1 is not a group").arg(_groupId));
679 } else {
680 if (!obj)
681 emit log( LOGERR, tr( "Unable to get Object with id %1").arg(_objectId) );
682 if (!_groupId)
683 emit log( LOGERR, tr( "Unable to get Group with id %1").arg(_groupId) );
684 }
685 return false;
686 }
687
688 //******************************************************************************
696 IdList DataControlPlugin::getGroupElements(int _groupId)
697 {
698 BaseObject* group = 0;
699 PluginFunctions::getObject(_groupId,group);
700 IdList result;
701
702 for (int i = 0; i < group->childCount(); ++i)
703 result.push_back(group->child(i)->id());
704
705 return result;
706 }
BaseObjectData::show
virtual void show()
Sets the whole Scenegraph subtree of this node to visible.
Definition: BaseObjectData.cc:188
DataControlPlugin::setDescriptions
void setDescriptions()
Definition: DataControlPluginScripting.cc:52
typesEnd
DLLEXPORT std::vector< TypeInfo >::const_iterator typesEnd()
Get iterator pointing to the last element in the types list.
Definition: Types.cc:185
LOGWARN
Definition: LoggingInterface.hh:95
DataControlPlugin::hideAll
void hideAll()
Hides all objects.
Definition: DataControlPluginScripting.cc:535
DataControlPlugin::showObject
void showObject(int objectId)
Show the given Object.
Definition: DataControlPluginScripting.cc:308
LOGINFO
Definition: LoggingInterface.hh:94
BaseObject::isGroup
bool isGroup() const
Check if object is a group.
Definition: BaseObject.cc:619
UPDATE_ALL
const UpdateType UPDATE_ALL(UpdateTypeSet(1))
Identifier for all updates.
BaseObject::childExists
BaseObject * childExists(int _objectId)
Check if the element exists in the subtree of this element.
Definition: BaseObject.cc:516
DataControlPlugin::addEmptyGroup
int addEmptyGroup(QString _groupName="", int _parentGroupId=0)
Create new empty group.
Definition: DataControlPluginScripting.cc:328
DataControlPlugin::setAllSource
void setAllSource()
Makes all available objects source.
Definition: DataControlPluginScripting.cc:469
DataControlPlugin::showAll
void showAll()
Shows all objects.
Definition: DataControlPluginScripting.cc:561
DataControlPlugin::setTarget
void setTarget(int objectId, bool _target)
set the given Object as target
Definition: DataControlPluginScripting.cc:241
PluginFunctions::SOURCE_OBJECTS
const QStringList SOURCE_OBJECTS("source")
Iterable object range.
BaseObject::id
int id() const
Definition: BaseObject.cc:190
typesBegin
DLLEXPORT std::vector< TypeInfo >::const_iterator typesBegin()
Get iterator pointing to the first element in the types list.
Definition: Types.cc:180
DataControlPlugin::availableDataTypeNames
QString availableDataTypeNames() const
Returns a list of all available DataTypes.
Definition: DataControlPluginScripting.cc:645
DataControlPlugin::printObjectInfoToLog
void printObjectInfoToLog()
Print information about all open objects to the console.
Definition: DataControlPluginScripting.cc:615
BaseObject::source
bool source()
Definition: BaseObject.cc:291
DataControlPlugin::setAllTarget
void setAllTarget()
Makes all available objects target.
Definition: DataControlPluginScripting.cc:447
DataControlPlugin::setSource
void setSource(int objectId, bool _source)
set the given Object as source
Definition: DataControlPluginScripting.cc:257
BaseObject::childCount
int childCount() const
get the number of children
Definition: BaseObject.cc:511
PluginFunctions::TARGET_OBJECTS
const QStringList TARGET_OBJECTS("target")
Iterable object range.
DataControlPlugin::groupCount
unsigned int groupCount() const
Returns the number of groups.
Definition: DataControlPluginScripting.cc:629
DataControlPlugin::setObjectName
void setObjectName(int objectId, QString _name)
set the name of the given object
Definition: DataControlPluginScripting.cc:274
PluginFunctions::ALL_OBJECTS
const QStringList ALL_OBJECTS
Iterable object range.
Definition: PluginFunctions.hh:430
LOGERR
Definition: LoggingInterface.hh:96
BaseObject::target
bool target()
Definition: BaseObject.cc:273
DATA_UNKNOWN
const DataType DATA_UNKNOWN(0)
None of the other Objects.
BaseObjectData::setName
virtual void setName(QString _name)
path to the file from which the object is loaded ( defaults to "." )
Definition: BaseObjectData.cc:355
PluginFunctions::getObject
bool getObject(const int _identifier, BaseObject *&_object)
Get the object which has the given identifier.
Definition: PluginFunctions.cc:294
DataControlPlugin::getSourceObjects
IdList getSourceObjects(DataType _type)
Get all source objects of given type.
Definition: DataControlPluginScripting.cc:600
DataControlPlugin::groupObjects
int groupObjects(IdList _objectIDs, QString _groupName="")
Group given Objects together.
Definition: DataControlPluginScripting.cc:362
PluginFunctions::objectRoot
BaseObject *& objectRoot()
Get the root of the object structure.
Definition: PluginFunctions.cc:1099
IdList
std::vector< int > IdList
Standard Type for id Lists used for scripting.
Definition: DataTypes.hh:179
GroupObject
Definition: GroupObject.hh:69
DataControlPlugin::clearAllSource
void clearAllSource()
remove source selection from all objects
Definition: DataControlPluginScripting.cc:513
DataType::name
QString name() const
Return the name of this type as text.
Definition: Types.cc:416
DataControlPlugin::getObjectName
QString getObjectName(int objectId)
Get the Objects name from the id.
Definition: DataControlPluginScripting.cc:190
DataControlPlugin::addObjectToGroup
bool addObjectToGroup(int _objectId, int _groupId)
add an object to an existing group
Definition: DataControlPluginScripting.cc:662
DATA_GROUP
const DataType DATA_GROUP(1)
Items used for Grouping.
DataControlPlugin::clearAllTarget
void clearAllTarget()
Unselect all objects.
Definition: DataControlPluginScripting.cc:491
BaseObject::setParent
void setParent(BaseObject *_parent)
Set the parent pointer.
Definition: BaseObject.cc:477
DataType
Predefined datatypes.
Definition: DataTypes.hh:83
PluginFunctions::ObjectIterator
Core Data Iterator.
Definition: PluginFunctions.hh:441
PluginFunctions::objectsEnd
DLLEXPORT ObjectIterator objectsEnd()
Return Iterator to Object End.
Definition: PluginFunctionsIterator.cc:177
BaseObject
Definition: BaseObject.hh:82
DataControlPlugin::unGroupObject
bool unGroupObject(int _id)
Definition: DataControlPluginScripting.cc:414
DataControlPlugin::getTargetObjects
IdList getTargetObjects(DataType _type)
Get all target objects of given type.
Definition: DataControlPluginScripting.cc:585
DataControlPlugin::getObject
int getObject(QString _name)
Get the id of an object by its name.
Definition: DataControlPluginScripting.cc:155
DataControlPlugin::dataType
DataType dataType(int objectId)
Get the DataType of a given object.
Definition: DataControlPluginScripting.cc:204
BaseObject::parent
BaseObject * parent()
Get the parent item ( 0 if rootitem )
Definition: BaseObject.cc:466
BaseObject::setName
virtual void setName(QString _name)
path to the file from which the object is loaded ( defaults to "." )
Definition: BaseObject.cc:723
DataControlPlugin::objectDelete
void objectDelete(int objectId)
Delete the given object.
Definition: DataControlPluginScripting.cc:289
DataControlPlugin::hideObject
void hideObject(int objectId)
Hide the given Object.
Definition: DataControlPluginScripting.cc:221
BaseObjectData
Definition: BaseObjectData.hh:102
BaseObject::child
BaseObject * child(int row)
return a child
Definition: BaseObject.cc:506
DATA_ALL
const DataType DATA_ALL(UINT_MAX)
Identifier for all available objects.
DataControlPlugin::getGroupElements
IdList getGroupElements(int _groupId)
Get all elements of the given group.
Definition: DataControlPluginScripting.cc:696
PluginFunctions::BaseObjectIterator
Core Data Iterator used to iterate over all objects (Including groups)
Definition: PluginFunctions.hh:675
BaseObjectData::hide
virtual void hide()
Sets the whole Scenegraph subtree of this node to invisible.
Definition: BaseObjectData.cc:197