Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AbstractView.hpp
Go to the documentation of this file.
1#ifndef IV_SRC_UI_VIEWS_ABSTRACTVIEW_HPP_
2#define IV_SRC_UI_VIEWS_ABSTRACTVIEW_HPP_
3
7
8#include <string>
9
11{
12public:
13 AbstractView() = delete;
14 explicit AbstractView(std::string title);
15 AbstractView(const AbstractView &other) = delete;
16 AbstractView(AbstractView &&other) = delete;
17 virtual ~AbstractView();
18
19 AbstractView &operator=(const AbstractView &other) = delete;
21
22 IWidget *makeComponentFrame(CDialog *dialogFather, IComponentsGUI *frame, IListenerChange **listenerChange);
23 void runClose();
24 bool runIsAccept(std::string *messageError);
26 void scheduleUpdate(bool schedule = true);
27 [[nodiscard]] bool updateScheduled() const;
28 void update();
29
30 [[nodiscard]] std::string getTitle() const;
31
32 virtual bool isViewEditor();
33 virtual std::optional<iv::views::editor::eEditorView> getEditorViewType();
34
36
37private:
38 virtual AbstractComponentGUI *create(CDialog *dialogFather, AbstractViewPanelEditor **viewPanelEditor) = 0;
39
40 std::string m_title;
42 // panel that builds the m_componentView. Used to update the view created without destroying it.
45};
46
47#endif// IV_SRC_UI_VIEWS_ABSTRACTVIEW_HPP_
Definition AbstractComponentGUI.hpp:30
Definition AbstractViewPanelEditor.hpp:12
Definition AbstractView.hpp:11
AbstractComponentGUI * unRefView()
Definition AbstractView.cpp:55
virtual AbstractComponentGUI * create(CDialog *dialogFather, AbstractViewPanelEditor **viewPanelEditor)=0
virtual std::optional< iv::views::editor::eEditorView > getEditorViewType()
Definition AbstractView.cpp:76
void runClose()
Definition AbstractView.cpp:42
AbstractView & operator=(const AbstractView &other)=delete
virtual ~AbstractView()
Definition AbstractView.cpp:16
AbstractViewPanelEditor * m_panelEditor
Definition AbstractView.hpp:43
AbstractView(const AbstractView &other)=delete
AbstractView(AbstractView &&other)=delete
void scheduleUpdate(bool schedule=true)
Definition AbstractView.cpp:99
AbstractComponentGUI * m_componentView
Definition AbstractView.hpp:41
virtual bool isViewEditor()
Definition AbstractView.cpp:71
bool m_updateScheduled
Definition AbstractView.hpp:44
std::string getTitle() const
Definition AbstractView.cpp:132
std::string m_title
Definition AbstractView.hpp:40
void update()
Definition AbstractView.cpp:119
bool updateScheduled() const
Definition AbstractView.cpp:109
IWidget * makeComponentFrame(CDialog *dialogFather, IComponentsGUI *frame, IListenerChange **listenerChange)
Definition AbstractView.cpp:31
AbstractView()=delete
AbstractViewPanelEditor * getPanelEditor()
Definition AbstractView.cpp:87
AbstractView & operator=(AbstractView &&other)=delete
bool runIsAccept(std::string *messageError)
Definition AbstractView.cpp:50
Definition CDialog.hpp:21
Definition IComponentsGUI.hpp:37
Definition IListenerChange.hpp:7
Definition IWidget.hpp:5