ImagingTools Core SDK
CPaginationGuiComp.h
1// SPDX-License-Identifier: LGPL-2.1-or-later OR GPL-2.0-or-later OR GPL-3.0-or-later OR LicenseRef-ImtCore-Commercial
2#pragma once
3
4
5// ACF includes
6#include <imod/TSingleModelObserverBase.h>
7#include <iprm/ISelectionParam.h>
8#include <iqtgui/TDesignerGuiObserverCompBase.h>
9
10// ImtCore includes
11#include <GeneratedFiles/imtgui/ui_CPaginationGuiComp.h>
12
13
14namespace imtgui
15{
16
17
18class CPaginationGuiComp: public iqtgui::TDesignerGuiObserverCompBase<Ui::CPaginationGuiComp, iprm::ISelectionParam>
19{
20 Q_OBJECT
21public:
22 typedef iqtgui::TDesignerGuiObserverCompBase<Ui::CPaginationGuiComp, iprm::ISelectionParam> BaseClass;
23
24 I_BEGIN_COMPONENT(CPaginationGuiComp);
25 I_END_COMPONENT;
26
27 CPaginationGuiComp();
28
29protected:
30 // reimplemented (iqtgui::TGuiObserverWrap)
31 virtual void UpdateGui(const istd::IChangeable::ChangeSet& changeSet) override;
32 virtual void OnGuiModelDetached() override;
33
34 // reimplemented (iqtgui::CGuiComponentBase)
35 virtual void OnGuiCreated() override;
36 virtual void OnGuiDesignChanged() override;
37
38protected:
39 void UpdateIcons();
40 void UpdateNavigationButtons();
41 void UpdatePageButtons();
42
43private Q_SLOTS:
44 void OnFirstClicked();
45 void OnPrev10Clicked();
46 void OnPageClicked();
47 void OnNext10Clicked();
48 void OnLastClicked();
49
50private:
51 int m_firstVisiblePageIndex;
52};
53
54
55} // namespace imtgui
56
57