Geometrize  1.0
An application for geometrizing images into geometric primitives
imagetaskrunnerwidget.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <memory>
4 
5 #include <QString>
6 #include <QWidget>
7 
8 class QEvent;
9 
10 namespace geometrize
11 {
12 
13 namespace task
14 {
15 class ImageTask;
16 }
17 
18 }
19 
20 namespace geometrize
21 {
22 
23 namespace dialog
24 {
25 
29 class ImageTaskRunnerWidget : public QWidget
30 {
31  Q_OBJECT
32 
33 public:
34  ImageTaskRunnerWidget(QWidget* parent = nullptr);
35  virtual ~ImageTaskRunnerWidget();
36 
41  void setImageTask(task::ImageTask* task);
42 
47  void setRunStopButtonText(const QString& text);
48 
54  void syncUserInterface();
55 
56 signals:
61 
62 protected:
63  void changeEvent(QEvent*) override;
64 
65 private slots:
67  void on_stepButton_clicked();
69 
70  void on_usesRectangles_clicked(bool checked);
71  void on_usesRotatedRectangles_clicked(bool checked);
72  void on_usesTriangles_clicked(bool checked);
73  void on_usesEllipses_clicked(bool checked);
74  void on_usesRotatedEllipses_clicked(bool checked);
75  void on_usesCircles_clicked(bool checked);
76  void on_usesLines_clicked(bool checked);
77  void on_usesQuadraticBeziers_clicked(bool checked);
78  void on_usesPolylines_clicked(bool checked);
79 
80  void on_shapeOpacitySlider_valueChanged(int value);
83  void on_randomSeedSpinBox_valueChanged(int value);
84  void on_maxThreadsSpinBox_valueChanged(int value);
85 
86 private:
88  std::unique_ptr<ImageTaskRunnerWidgetImpl> d;
89 };
90 
91 }
92 
93 }
geometrize::dialog::ImageTaskRunnerWidget::on_usesEllipses_clicked
void on_usesEllipses_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:266
geometrize::dialog::ImageTaskRunnerWidget::shapeBoundsSliderMoved
void shapeBoundsSliderMoved()
geometrize::dialog::ImageTaskRunnerWidget::setImageTask
void setImageTask(task::ImageTask *task)
setImageTask Sets the current image task used by the runner.
Definition: imagetaskrunnerwidget.cpp:221
geometrize::preferences::GlobalPreferences::getImageTaskMaxThreads
std::uint32_t getImageTaskMaxThreads() const
getImageTaskMaxThreads Gets the maximum number of threads the image task should use.
Definition: globalpreferences.cpp:628
geometrize::dialog::ImageTaskRunnerWidget::on_mutationsPerCandidateShapeSlider_valueChanged
void on_mutationsPerCandidateShapeSlider_valueChanged(int value)
Definition: imagetaskrunnerwidget.cpp:306
geometrize::dialog::ImageTaskRunnerWidget::on_usesRotatedRectangles_clicked
void on_usesRotatedRectangles_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:256
geometrize::dialog::ImageTaskRunnerWidget::on_shapeOpacitySlider_valueChanged
void on_shapeOpacitySlider_valueChanged(int value)
Definition: imagetaskrunnerwidget.cpp:296
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setCandidateShapesPerStep
void setCandidateShapesPerStep(const int value)
Definition: imagetaskrunnerwidget.cpp:168
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::ui
std::unique_ptr< Ui::ImageTaskRunnerWidget > ui
Definition: imagetaskrunnerwidget.cpp:208
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::populateUi
void populateUi()
Definition: imagetaskrunnerwidget.cpp:199
geometrize::preferences::ImageTaskPreferences::setMaxShapeMutations
void setMaxShapeMutations(std::uint32_t maxMutations)
Definition: imagetaskpreferences.cpp:265
geometrize::dialog::ImageTaskRunnerWidget::setRunStopButtonText
void setRunStopButtonText(const QString &text)
setRunStopButtonText Sets the text on the run/stop button in the UI.
Definition: imagetaskrunnerwidget.cpp:226
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::ImageTaskRunnerWidgetImpl
ImageTaskRunnerWidgetImpl(const ImageTaskRunnerWidgetImpl &)=delete
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl
Definition: imagetaskrunnerwidget.cpp:22
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::clearModel
void clearModel()
Definition: imagetaskrunnerwidget.cpp:147
geometrize::dialog::ImageTaskRunnerWidget::on_runStopButton_clicked
void on_runStopButton_clicked()
Definition: imagetaskrunnerwidget.cpp:236
geometrize::dialog::RangeSlider::setUpperValue
void setUpperValue(int aUpperValue)
Definition: rangeslider.cpp:328
geometrize::preferences::ImageTaskPreferences::setSeed
void setSeed(std::uint32_t seed)
Definition: imagetaskpreferences.cpp:270
geometrize::dialog::ImageTaskRunnerWidget::on_usesTriangles_clicked
void on_usesTriangles_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:261
geometrize::dialog::ImageTaskRunnerWidget::runStopButtonClicked
void runStopButtonClicked()
geometrize::dialog::RangeSlider::setLowerValue
void setLowerValue(int aLowerValue)
Definition: rangeslider.cpp:310
geometrize::dialog::ImageTaskRunnerWidget::stepButtonClicked
void stepButtonClicked()
geometrize::layout::FlowLayout
The FlowLayout class implements a layout that arranges components in a directional flow,...
Definition: flowlayout.h:53
geometrize::dialog::ImageTaskRunnerWidget::on_clearButton_clicked
void on_clearButton_clicked()
Definition: imagetaskrunnerwidget.cpp:246
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidget
ImageTaskRunnerWidget(QWidget *parent=nullptr)
Definition: imagetaskrunnerwidget.cpp:211
geometrize::preferences::ImageTaskPreferences::setCandidateShapeCount
void setCandidateShapeCount(std::uint32_t shapeCount)
Definition: imagetaskpreferences.cpp:260
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::m_task
geometrize::task::ImageTask * m_task
Definition: imagetaskrunnerwidget.cpp:206
geometrize::preferences::ImageTaskPreferences
The ImageTaskPreferences class models the preferences associated with an image task.
Definition: imagetaskpreferences.h:29
geometrize::preferences::ImageTaskPreferences::getImageRunnerOptions
geometrize::ImageRunnerOptions getImageRunnerOptions() const
getImageRunnerOptions Gets a copy of the image runner options.
Definition: imagetaskpreferences.cpp:235
geometrize::preferences::ImageTaskPreferences::setShapeAlpha
void setShapeAlpha(std::uint8_t alpha)
Definition: imagetaskpreferences.cpp:255
geometrize::dialog::ImageTaskRunnerWidget::on_usesPolylines_clicked
void on_usesPolylines_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:291
geometrize::dialog::RangeSlider::lowerValueChanged
void lowerValueChanged(int aLowerValue)
flowlayout.h
geometrize::dialog::ImageTaskRunnerWidget::on_usesRotatedEllipses_clicked
void on_usesRotatedEllipses_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:271
geometrize::preferences::ImageTaskPreferences::setMaxThreads
void setMaxThreads(std::uint32_t maxThreads)
Definition: imagetaskpreferences.cpp:275
geometrize::dialog::ImageTaskRunnerWidget
The ImageTaskRunnerWidget implements a widget for manipulating and changing the settings of an image ...
Definition: imagetaskrunnerwidget.h:30
geometrize::dialog::ImageTaskRunnerWidget::on_stepButton_clicked
void on_stepButton_clicked()
Definition: imagetaskrunnerwidget.cpp:241
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::q
ImageTaskRunnerWidget * q
Definition: imagetaskrunnerwidget.cpp:207
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setMutationsPerCandidateShape
void setMutationsPerCandidateShape(const int value)
Definition: imagetaskrunnerwidget.cpp:175
geometrize::dialog::ImageTaskRunnerWidget::on_maxThreadsSpinBox_valueChanged
void on_maxThreadsSpinBox_valueChanged(int value)
Definition: imagetaskrunnerwidget.cpp:316
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::syncUserInterface
void syncUserInterface()
Definition: imagetaskrunnerwidget.cpp:95
geometrize
Definition: commandlineparser.cpp:73
geometrize::dialog::ImageTaskRunnerWidget::on_usesRectangles_clicked
void on_usesRectangles_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:251
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::~ImageTaskRunnerWidgetImpl
~ImageTaskRunnerWidgetImpl()=default
imagetaskrunnerwidget.h
imagetask.h
geometrize::dialog::ImageTaskRunnerWidget::on_candidateShapesPerStepSlider_valueChanged
void on_candidateShapesPerStepSlider_valueChanged(int value)
Definition: imagetaskrunnerwidget.cpp:301
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::onLanguageChange
void onLanguageChange()
Definition: imagetaskrunnerwidget.cpp:192
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::m_hBoundsSlider
geometrize::dialog::RangeSlider * m_hBoundsSlider
Definition: imagetaskrunnerwidget.cpp:204
geometrize::dialog::RangeSlider::upperValueChanged
void upperValueChanged(int aUpperValue)
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::operator=
ImageTaskRunnerWidgetImpl operator=(const ImageTaskRunnerWidgetImpl &)=delete
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::stepModel
void stepModel()
Definition: imagetaskrunnerwidget.cpp:142
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::toggleRunning
void toggleRunning()
Definition: imagetaskrunnerwidget.cpp:137
geometrize::dialog::RangeSlider
Definition: rangeslider.h:37
geometrize::preferences::ImageTaskPreferences::disableShapeTypes
void disableShapeTypes(geometrize::ShapeTypes shapes)
Definition: imagetaskpreferences.cpp:245
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::ImageTaskRunnerWidgetImpl
ImageTaskRunnerWidgetImpl(ImageTaskRunnerWidget *pQ)
Definition: imagetaskrunnerwidget.cpp:24
rangeslider.h
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setShapeOpacity
void setShapeOpacity(const int opacity)
Definition: imagetaskrunnerwidget.cpp:161
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setShapes
void setShapes(const geometrize::ShapeTypes shapeTypes, const bool enable)
Definition: imagetaskrunnerwidget.cpp:152
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setRandomSeed
void setRandomSeed(const int value)
Definition: imagetaskrunnerwidget.cpp:182
geometrize::dialog::ImageTaskRunnerWidget::clearButtonClicked
void clearButtonClicked()
geometrize::dialog::ImageTaskRunnerWidget::on_randomSeedSpinBox_valueChanged
void on_randomSeedSpinBox_valueChanged(int value)
Definition: imagetaskrunnerwidget.cpp:311
geometrize::preferences::ImageTaskPreferences::enableShapeTypes
void enableShapeTypes(geometrize::ShapeTypes shapes)
Definition: imagetaskpreferences.cpp:240
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setRunStopButtonText
void setRunStopButtonText(const QString &text)
Definition: imagetaskrunnerwidget.cpp:90
globalpreferences.h
geometrize::dialog::ImageTaskRunnerWidget::on_usesQuadraticBeziers_clicked
void on_usesQuadraticBeziers_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:286
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::ImageTaskRunnerWidget::changeEvent
void changeEvent(QEvent *) override
Definition: imagetaskrunnerwidget.cpp:321
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setMaxThreads
void setMaxThreads(const int value)
Definition: imagetaskrunnerwidget.cpp:187
geometrize::dialog::ImageTaskRunnerWidget::on_usesLines_clicked
void on_usesLines_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:281
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::m_vBoundsSlider
geometrize::dialog::RangeSlider * m_vBoundsSlider
Definition: imagetaskrunnerwidget.cpp:205
geometrize::dialog::ImageTaskRunnerWidget::syncUserInterface
void syncUserInterface()
syncUserInterface Syncs the user interface with the current image task. This should be called after s...
Definition: imagetaskrunnerwidget.cpp:231
geometrize::dialog::ImageTaskRunnerWidget::d
std::unique_ptr< ImageTaskRunnerWidgetImpl > d
Definition: imagetaskrunnerwidget.h:87
geometrize::dialog::ImageTaskRunnerWidget::on_usesCircles_clicked
void on_usesCircles_clicked(bool checked)
Definition: imagetaskrunnerwidget.cpp:276
geometrize::preferences::getGlobalPreferences
geometrize::preferences::GlobalPreferences & getGlobalPreferences()
getGlobalPreferences Shorthand function that gets a reference to the shared global preferences object...
Definition: globalpreferences.cpp:32
geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl::setImageTask
void setImageTask(task::ImageTask *task)
Definition: imagetaskrunnerwidget.cpp:85
geometrize::task::ImageTask::getPreferences
geometrize::preferences::ImageTaskPreferences & getPreferences()
getPreferences Gets a reference to the current preferences of this task.
Definition: imagetask.cpp:392
geometrize::dialog::ImageTaskRunnerWidget::~ImageTaskRunnerWidget
virtual ~ImageTaskRunnerWidget()
Definition: imagetaskrunnerwidget.cpp:217