Geometrize  1.0
An application for geometrizing images into geometric primitives
imagetaskshapescriptingpanel.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <map>
4 #include <memory>
5 #include <string>
6 
7 #include <QWidget>
8 
9 class QEvent;
10 
11 namespace geometrize
12 {
13 
14 namespace dialog
15 {
16 class ScriptEditorWidget;
17 }
18 
19 namespace task
20 {
21 class ImageTask;
22 }
23 
24 }
25 
26 namespace geometrize
27 {
28 
29 namespace dialog
30 {
31 
35 class ImageTaskShapeScriptingPanel : public QWidget
36 {
37  Q_OBJECT
38 
39 public:
40  explicit ImageTaskShapeScriptingPanel(QWidget* parent = nullptr);
42 
47  void setImageTask(task::ImageTask* task);
48 
53  void syncUserInterface();
54 
55  std::map<std::string, std::string> getScripts() const;
56 
57 signals:
58  void signal_scriptingToggled(bool enabled);
60  void signal_scriptChanged(const std::string& functionName, const std::string& code);
61 
62 protected:
63  void changeEvent(QEvent*) override;
64 
65 private:
67  std::unique_ptr<ImageTaskShapeScriptingPanelImpl> d;
68 };
69 
70 }
71 
72 }
imagetaskshapescriptingpanel.h
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::getScripts
std::map< std::string, std::string > getScripts() const
Definition: imagetaskshapescriptingpanel.cpp:134
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::syncUserInterface
void syncUserInterface()
Definition: imagetaskshapescriptingpanel.cpp:122
geometrize::script::getPointerAreaOfInterestShapeMutatorScripts
std::map< std::string, std::string > getPointerAreaOfInterestShapeMutatorScripts()
getPointerAreaOfInterestScripts Gets a map of the scripts used for shape creation and mutation based ...
Definition: scriptutil.cpp:68
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::setImageTask
void setImageTask(task::ImageTask *task)
Definition: imagetaskshapescriptingpanel.cpp:83
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::setupPreset
void setupPreset(const int idx)
Definition: imagetaskshapescriptingpanel.cpp:163
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::operator=
ImageTaskShapeScriptingPanelImpl operator=(const ImageTaskShapeScriptingPanelImpl &)=delete
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl
Definition: imagetaskshapescriptingpanel.cpp:27
geometrize::script::getDefaultShapeMutatorScripts
std::map< std::string, std::string > getDefaultShapeMutatorScripts()
getDefaultScripts Gets a map of the default scripts used for shape creation and mutation in image tas...
Definition: scriptutil.cpp:63
geometrize::dialog::ImageTaskShapeScriptingPanel::signal_scriptingToggled
void signal_scriptingToggled(bool enabled)
geometrize::dialog::ImageTaskShapeScriptingPanel::signal_scriptsReset
void signal_scriptsReset()
geometrize::script::GeometrizerEngine::signal_scriptEvaluationSucceeded
void signal_scriptEvaluationSucceeded(const std::string &functionName, const std::string &code)
signal_scriptEvaluationSucceeded Signal dispatched when a script is successfully parsed/evaluated.
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::buildPresetsMenuAndSelectPreset
void buildPresetsMenuAndSelectPreset()
Definition: imagetaskshapescriptingpanel.cpp:150
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::~ImageTaskShapeScriptingPanelImpl
~ImageTaskShapeScriptingPanelImpl()=default
geometrize::dialog::ImageTaskShapeScriptingPanel::changeEvent
void changeEvent(QEvent *) override
Definition: imagetaskshapescriptingpanel.cpp:274
geometrize::dialog::ScriptEditorWidget
The ScriptEditorWidget class implements a widget for interactively editing a Chaiscript function.
Definition: scripteditorwidget.h:20
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::ImageTaskShapeScriptingPanelImpl
ImageTaskShapeScriptingPanelImpl(ImageTaskShapeScriptingPanel *pQ)
Definition: imagetaskshapescriptingpanel.cpp:29
scripteditorwidget.h
geometrize::dialog::ImageTaskShapeScriptingPanel::signal_scriptChanged
void signal_scriptChanged(const std::string &functionName, const std::string &code)
geometrize::dialog::ImageTaskShapeScriptingPanel::d
std::unique_ptr< ImageTaskShapeScriptingPanelImpl > d
Definition: imagetaskshapescriptingpanel.h:66
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::m_editors
std::vector< ScriptEditorWidget * > m_editors
Connection for the scripting panel to react when a script fails to evaluate
Definition: imagetaskshapescriptingpanel.cpp:243
scriptutil.h
geometrize::script::getScripts
std::map< std::string, std::string > getScripts(const std::string &folder)
getDefaultScripts Gets a map of the scripts in the given folder.
Definition: scriptutil.cpp:58
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::getDefaultScripts
std::map< std::string, std::string > getDefaultScripts() const
Definition: imagetaskshapescriptingpanel.cpp:208
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::ImageTaskShapeScriptingPanelImpl
ImageTaskShapeScriptingPanelImpl(const ImageTaskShapeScriptingPanelImpl &)=delete
geometrize::dialog::ImageTaskShapeScriptingPanel
The ImageTaskShapeScriptingPanel models the UI for the script editors for controlling image task shap...
Definition: imagetaskshapescriptingpanel.h:36
geometrizerengine.h
geometrize
Definition: commandlineparser.cpp:73
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::q
ImageTaskShapeScriptingPanel * q
Definition: imagetaskshapescriptingpanel.cpp:245
imagetask.h
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanel
ImageTaskShapeScriptingPanel(QWidget *parent=nullptr)
Definition: imagetaskshapescriptingpanel.cpp:249
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::populateUi
void populateUi()
Definition: imagetaskshapescriptingpanel.cpp:145
geometrize::script::GeometrizerEngine::signal_scriptEvaluationFailed
void signal_scriptEvaluationFailed(const std::string &functionName, const std::string &code, const std::string &errorMessage)
signal_scriptEvaluationFailed Signal dispatched when a script fails to parse/evaluate.
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::onLanguageChange
void onLanguageChange()
Definition: imagetaskshapescriptingpanel.cpp:128
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::ui
std::unique_ptr< Ui::ImageTaskShapeScriptingPanel > ui
Definition: imagetaskshapescriptingpanel.cpp:244
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::findEditor
dialog::ScriptEditorWidget * findEditor(const std::string &functionName)
Definition: imagetaskshapescriptingpanel.cpp:217
geometrize::dialog::ImageTaskShapeScriptingPanel::~ImageTaskShapeScriptingPanel
virtual ~ImageTaskShapeScriptingPanel()
Definition: imagetaskshapescriptingpanel.cpp:255
geometrize::dialog::ImageTaskShapeScriptingPanel::setImageTask
void setImageTask(task::ImageTask *task)
setImageTask Sets the current image task manipulated by the scripting panel.
Definition: imagetaskshapescriptingpanel.cpp:259
geometrize::task::ImageTask
The ImageTask class transforms a source image into a collection of shapes approximating the source im...
Definition: imagetask.h:53
geometrize::dialog::ImageTaskShapeScriptingPanel::getScripts
std::map< std::string, std::string > getScripts() const
Definition: imagetaskshapescriptingpanel.cpp:269
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::setScriptModeEnabled
void setScriptModeEnabled(const bool enabled)
Definition: imagetaskshapescriptingpanel.cpp:195
geometrize::script::GeometrizerEngine
The GeometrizerEngine class encapsulates script-based setup and mutation methods for geometrizing sha...
Definition: geometrizerengine.h:58
geometrize::dialog::ImageTaskShapeScriptingPanel::syncUserInterface
void syncUserInterface()
syncUserInterface Syncs the user interface with the current image task. This should be called after s...
Definition: imagetaskshapescriptingpanel.cpp:264
geometrize::dialog::ImageTaskShapeScriptingPanel::ImageTaskShapeScriptingPanelImpl::setScripts
void setScripts(const std::map< std::string, std::string > &scripts)
Definition: imagetaskshapescriptingpanel.cpp:227