iVS3D v2.0.9
Loading...
Searching...
No Matches
plugincontroller.h
1#pragma once
2
3#include <QObject>
4#include <vector>
5
6#include "samplingwidget.h"
7#include "DataManager.h"
8#include "pluginmanager.h"
9#include "videoplayercontroller.h"
10#include "maskstack.h"
11#include "pluginthread.h"
12#include "stackcontroller.h"
13
14class PluginController : public QObject
15{
16 Q_OBJECT
17
18public:
19 explicit PluginController(DataManager* dataManager, SamplingWidget* samplingWidget, VideoPlayerController* vpc, StackController* stackController, std::shared_ptr<PluginThread> pluginThread, std::shared_ptr<MaskStack> maskStack = nullptr);
21
22public slots:
23 void slot_selectPlugin(QString name);
24 void slot_pausePreview();
25 void slot_resumePreview();
26 void slot_disableSampling();
27 void slot_enableSampling();
28
29private slots:
30 void slot_enablePreview(bool enabled);
31 void slot_startSelection();
32 void slot_addMask();
33 void slot_previewStateChanged(const PreviewState& state);
34 void slot_selectedImagesChanged(const std::vector<uint>& selectedImages);
35
36private:
37 DataManager* m_dataManager;
38 SamplingWidget* m_samplingWidget;
40 QString m_currentPluginName;
41 bool m_currentHasPreview = false;
42 bool m_currentHasMask = false;
43 bool m_currentHasSelection = false;
44 StackController* m_stack;
45 std::shared_ptr<MaskStack> m_maskStack;
46 std::shared_ptr<PluginThread> m_pluginThread;
47 volatile bool m_selectionCancelFlag;
48 bool m_previewWasEnabled = false;
49 bool m_samplingWasEnabled = false;
50};
The DataManager class is a Facade for the data holding classes in the model. It delegates most of it'...
Definition DataManager.h:29
Definition plugincontroller.h:15
The SamplingWidget class is a graphical user interface to select and edit sampling algorithms and tra...
Definition samplingwidget.h:40
Definition stackcontroller.h:13
The VideoPlayerController class manages visualization of image data and manual changes to keyframes.
Definition videoplayercontroller.h:48