BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
IView.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/SampleDesigner/IView.h
6 //! @brief Defines interface IView
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_VIEWS_SAMPLEDESIGNER_IVIEW_H
16 #define BORNAGAIN_GUI_COREGUI_VIEWS_SAMPLEDESIGNER_IVIEW_H
17 
19 #include <QGraphicsObject>
20 #include <memory>
21 
22 class SessionItem;
23 
24 //! parent class for graphic representation of all ISampleNode's
25 class IView : public QGraphicsObject {
26  Q_OBJECT
27 public:
28  IView(QGraphicsItem* parent = 0);
29  virtual ~IView();
30 
31  int type() const;
32 
33  virtual void setParameterizedItem(SessionItem* item);
34 
35  virtual SessionItem* getItem();
36 
37  virtual void addView(IView* childView, int row = 0);
38 
39 signals:
41 
42 public slots:
43  virtual void onChangedX();
44  virtual void onChangedY();
45 
46 protected:
47  virtual void update_appearance();
48  virtual void onPropertyChange(const QString& propertyName);
49  virtual void onSiblingsChange();
50 
52 };
53 
54 inline int IView::type() const
55 {
56  return ViewTypes::IVIEW;
57 }
58 
60 {
61  return m_item;
62 }
63 
64 #endif // BORNAGAIN_GUI_COREGUI_VIEWS_SAMPLEDESIGNER_IVIEW_H
Defines namespace ViewTypes with enum EWidgetTypes (nothing to implement)
parent class for graphic representation of all ISampleNode's
Definition: IView.h:25
virtual void onChangedY()
Definition: IView.cpp:62
virtual SessionItem * getItem()
Definition: IView.h:59
virtual void onPropertyChange(const QString &propertyName)
Definition: IView.cpp:75
virtual ~IView()
Definition: IView.cpp:25
void aboutToBeDeleted()
virtual void setParameterizedItem(SessionItem *item)
Definition: IView.cpp:31
int type() const
Definition: IView.h:54
virtual void onSiblingsChange()
Definition: IView.cpp:85
virtual void update_appearance()
updates visual appearance of the item (color, icons, size etc)
Definition: IView.cpp:70
virtual void onChangedX()
Definition: IView.cpp:55
IView(QGraphicsItem *parent=0)
Definition: IView.cpp:19
SessionItem * m_item
Definition: IView.h:51
virtual void addView(IView *childView, int row=0)
Definition: IView.cpp:53