Version: 9.12.0
LightApp_DataObject.h
Go to the documentation of this file.
1 // Copyright (C) 2007-2023 CEA, EDF, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 
23 // File : LightApp_DataObject.h
24 // Author : Vadim SANDLER, Open CASCADE S.A.S. (vadim.sandler@opencascade.com)
25 
26 #ifndef LIGHTAPP_DATAOBJECT_H
27 #define LIGHTAPP_DATAOBJECT_H
28 
29 #include "LightApp.h"
30 #include <CAM_DataObject.h>
31 
32 class CAM_DataModel;
33 class LightApp_Study;
34 
36 {
37  class Key;
38 
39 public:
41  enum {
42  EntryId = VisibilityId + 1,
43  RefEntryId
44  };
45 
46 public:
48  virtual ~LightApp_DataObject();
49 
50  virtual SUIT_DataObjectKey* key() const;
51  virtual QString entry() const;
52 
53  virtual QString refEntry() const;
54  virtual bool isReference() const;
55 
56  virtual QString text( const int = NameId ) const;
57  virtual QColor color( const ColorRole, const int = NameId ) const;
58 
59  virtual SUIT_DataObject* componentObject() const;
60  virtual QString componentDataType() const;
61 
62  virtual bool customSorting( const int = NameId ) const;
63  virtual bool compare( const QVariant&, const QVariant&, const int = NameId ) const;
64  virtual int groupId() const;
65  virtual QVariant customData(Qtx::CustomDataType type);
66 
67  virtual bool isVisible() const;
68  virtual bool isDraggable() const;
69  virtual bool isDropAccepted() const;
70  virtual bool renameAllowed( const int = NameId ) const;
71  virtual bool setName( const QString& );
72 
73 protected:
74  QString myCompDataType;
76 };
77 
79 : public virtual LightApp_DataObject, public CAM_ModuleObject
80 {
81 public:
84 
85  virtual ~LightApp_ModuleObject();
86 
87  virtual QString name() const;
88  QPixmap icon( const int = NameId ) const;
89  QString toolTip( const int = NameId ) const;
90 
91  virtual void insertChild( SUIT_DataObject*, int );
92 };
93 
95 {
96 public:
98 
99  virtual ~LightApp_RootObject();
100 
101  void setStudy( LightApp_Study* );
102  LightApp_Study* study() const;
103 
104 private:
106 };
107 
108 #endif // LIGHTAPP_DATAOBJECT_H
#define LIGHTAPP_EXPORT
Definition: LightApp.h:36
Base class for all data models used in CAM-based applications.
Definition: CAM_DataModel.h:37
CAM-based implementation of the data object.
Definition: CAM_DataObject.h:34
CAM data model root object.
Definition: CAM_DataObject.h:44
Represents unique data object key for the LightApp_DataObject class instances.
Definition: LightApp_DataObject.cxx:47
Base data object class to build the data model for all the SALOME modules.
Definition: LightApp_DataObject.h:36
QString myCompDataType
Definition: LightApp_DataObject.h:74
SUIT_DataObject * myCompObject
Definition: LightApp_DataObject.h:75
Used for optimized access to the data model from the data objects.
Definition: LightApp_DataObject.h:80
Root data object for the light (without CORBA) SALOME application.
Definition: LightApp_DataObject.h:95
LightApp_Study * myStudy
Definition: LightApp_DataObject.h:105
Definition: LightApp_Study.h:67
CustomDataType
Type of the custom data (for custom tree model)
Definition: Qtx.h:131
Definition: SUIT_DataObjectKey.h:33
Data object representing the data instance in the tree-like hierarchy.
Definition: SUIT_DataObject.h:49
virtual int groupId() const
return unique group identificator
Definition: SUIT_DataObject.cxx:1013
virtual QPixmap icon(const int=NameId) const
Get data object icon for the specified column.
Definition: SUIT_DataObject.cxx:487
virtual void insertChild(SUIT_DataObject *, int)
Insert new child object to the list of the children.
Definition: SUIT_DataObject.cxx:306
virtual SUIT_DataObjectKey * key() const
Get the object unique indentification key.
Definition: SUIT_DataObject.cxx:803
virtual bool setName(const QString &name)
Set name of the this object.
Definition: SUIT_DataObject.cxx:700
virtual bool isDropAccepted() const
Check if the drop operation for this object is possible.
Definition: SUIT_DataObject.cxx:632
virtual bool compare(const QVariant &, const QVariant &, const int=NameId) const
Compares data from two items for sorting purposes.
Definition: SUIT_DataObject.cxx:789
virtual bool renameAllowed(const int=NameId) const
Check if this object is can't be renamed in place.
Definition: SUIT_DataObject.cxx:687
virtual QString name() const
Get data object name.
Definition: SUIT_DataObject.cxx:454
virtual QString text(const int=NameId) const
Get object text data for the specified column.
Definition: SUIT_DataObject.cxx:471
virtual QString toolTip(const int=NameId) const
Get data object tooltip for the specified column.
Definition: SUIT_DataObject.cxx:521
virtual bool isVisible() const
Check if the object is visible.
Definition: SUIT_DataObject.cxx:606
virtual QColor color(const ColorRole, const int=NameId) const
Get data object color for the specified column.
Definition: SUIT_DataObject.cxx:504
virtual bool customSorting(const int=NameId) const
Check if the specified column supports custom sorting.
Definition: SUIT_DataObject.cxx:768
virtual QVariant customData(Qtx::CustomDataType)
return custom data for data object.
Definition: SUIT_DataObject.cxx:1020
virtual bool isDraggable() const
Check if the object is draggable.
Definition: SUIT_DataObject.cxx:619