a544d1786925db19910f5dd75d9531aa88c2c407
[occt.git] / tools / DFBrowserPane / DFBrowserPane_TDataStdReferenceArray.hxx
1 // Created on: 2017-06-16
2 // Created by: Natalia ERMOLAEVA
3 // Copyright (c) 2017 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement. 
15
16 #ifndef DFBrowserPane_TDataStdReferenceArray_H
17 #define DFBrowserPane_TDataStdReferenceArray_H
18
19 #include <DFBrowserPane_AttributePane.hxx>
20 #include <Standard.hxx>
21
22 #include <DFBrowserPane_HelperArray.hxx>
23
24 //! \class DFBrowserPane_TDataStdReferenceArray
25 //! \brief The class to manipulate of TDataStd_ReferenceArray attribute
26 class DFBrowserPane_TDataStdReferenceArray : public DFBrowserPane_AttributePane
27 {
28 public:
29
30   //! Constructor
31   Standard_EXPORT DFBrowserPane_TDataStdReferenceArray() : DFBrowserPane_AttributePane(), myArrayTableHelper(getPaneModel()) {}
32
33   //! Destructor
34   Standard_EXPORT virtual ~DFBrowserPane_TDataStdReferenceArray() {}
35
36   //! Creates table view and call create widget of array table helper
37   //! \param theParent a parent widget
38   //! \return a new widget
39   Standard_EXPORT virtual QWidget* CreateWidget (QWidget* theParent) Standard_OVERRIDE;
40
41   //! Calls Init of array table helper
42   //! \param theAttribute a current attribute
43   Standard_EXPORT virtual void Init (const Handle(TDF_Attribute)& theAttribute) Standard_OVERRIDE;
44
45   //! Returns short attribute information using array table helper
46   //! \param theAttribute a current attribute
47   //! \param theValues container of output values
48   Standard_EXPORT virtual void GetShortAttributeInfo (const Handle(TDF_Attribute)& theAttribute,
49                                                       QList<QVariant>& theValues) Standard_OVERRIDE;
50
51   //! Returns values to fill the table view model
52   //! \param theAttribute a current attribute
53   //! \param theValues a container of values
54   Standard_EXPORT virtual void GetValues (const Handle(TDF_Attribute)& theAttribute,
55                                           QList<QVariant>& theValues) Standard_OVERRIDE;
56
57   //! Returns container of Label references to the attribute
58   //! \param theAttribute a current attribute
59   //! \param theRefLabels a container of label references, to be selected in tree view
60   //! \param theRefPresentation handle of presentation for the references, to be visualized
61   Standard_EXPORT virtual void GetReferences (const Handle(TDF_Attribute)& theAttribute,
62                                               NCollection_List<TDF_Label>& theRefLabels,
63                                               Handle(Standard_Transient)& theRefPresentation) Standard_OVERRIDE;
64 private:
65
66   DFBrowserPane_HelperArray myArrayTableHelper; //!< common interface to fill array pane
67 };
68
69 #endif