Geometrize  1.0
An application for geometrizing images into geometric primitives
Classes | Signals | Public Member Functions | Protected Member Functions | Private Slots | Private Attributes | List of all members
geometrize::dialog::ImageTaskRunnerWidget Class Reference

The ImageTaskRunnerWidget implements a widget for manipulating and changing the settings of an image task e.g. the number of times to mutate each shape the task generates. More...

#include <imagetaskrunnerwidget.h>

Inheritance diagram for geometrize::dialog::ImageTaskRunnerWidget:
Inheritance graph
[legend]
Collaboration diagram for geometrize::dialog::ImageTaskRunnerWidget:
Collaboration graph
[legend]

Classes

class  ImageTaskRunnerWidgetImpl
 

Signals

void runStopButtonClicked ()
 
void stepButtonClicked ()
 
void clearButtonClicked ()
 
void shapeBoundsSliderMoved ()
 

Public Member Functions

 ImageTaskRunnerWidget (QWidget *parent=nullptr)
 
virtual ~ImageTaskRunnerWidget ()
 
void setImageTask (task::ImageTask *task)
 setImageTask Sets the current image task used by the runner. More...
 
void setRunStopButtonText (const QString &text)
 setRunStopButtonText Sets the text on the run/stop button in the UI. More...
 
void syncUserInterface ()
 syncUserInterface Syncs the user interface with the current image task. This should be called after setting a new image task, or new task settings. Note this does not change the run/stop button text. More...
 

Protected Member Functions

void changeEvent (QEvent *) override
 

Private Slots

void on_runStopButton_clicked ()
 
void on_stepButton_clicked ()
 
void on_clearButton_clicked ()
 
void on_usesRectangles_clicked (bool checked)
 
void on_usesRotatedRectangles_clicked (bool checked)
 
void on_usesTriangles_clicked (bool checked)
 
void on_usesEllipses_clicked (bool checked)
 
void on_usesRotatedEllipses_clicked (bool checked)
 
void on_usesCircles_clicked (bool checked)
 
void on_usesLines_clicked (bool checked)
 
void on_usesQuadraticBeziers_clicked (bool checked)
 
void on_usesPolylines_clicked (bool checked)
 
void on_shapeOpacitySlider_valueChanged (int value)
 
void on_candidateShapesPerStepSlider_valueChanged (int value)
 
void on_mutationsPerCandidateShapeSlider_valueChanged (int value)
 
void on_randomSeedSpinBox_valueChanged (int value)
 
void on_maxThreadsSpinBox_valueChanged (int value)
 

Private Attributes

std::unique_ptr< ImageTaskRunnerWidgetImpld
 

Detailed Description

The ImageTaskRunnerWidget implements a widget for manipulating and changing the settings of an image task e.g. the number of times to mutate each shape the task generates.

Constructor & Destructor Documentation

◆ ImageTaskRunnerWidget()

geometrize::dialog::ImageTaskRunnerWidget::ImageTaskRunnerWidget ( QWidget *  parent = nullptr)
211  :
212  QWidget{parent},
213  d{std::make_unique<ImageTaskRunnerWidget::ImageTaskRunnerWidgetImpl>(this)}
214 {
215 }

◆ ~ImageTaskRunnerWidget()

geometrize::dialog::ImageTaskRunnerWidget::~ImageTaskRunnerWidget ( )
virtual
218 {
219 }

Member Function Documentation

◆ changeEvent()

void geometrize::dialog::ImageTaskRunnerWidget::changeEvent ( QEvent *  event)
overrideprotected
322 {
323  if (event->type() == QEvent::LanguageChange) {
324  d->onLanguageChange();
325  }
326  QWidget::changeEvent(event);
327 }

◆ clearButtonClicked

void geometrize::dialog::ImageTaskRunnerWidget::clearButtonClicked ( )
signal
Here is the caller graph for this function:

◆ on_candidateShapesPerStepSlider_valueChanged

void geometrize::dialog::ImageTaskRunnerWidget::on_candidateShapesPerStepSlider_valueChanged ( int  value)
privateslot
302 {
303  d->setCandidateShapesPerStep(value);
304 }

◆ on_clearButton_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_clearButton_clicked ( )
privateslot
247 {
248  d->clearModel();
249 }

◆ on_maxThreadsSpinBox_valueChanged

void geometrize::dialog::ImageTaskRunnerWidget::on_maxThreadsSpinBox_valueChanged ( int  value)
privateslot
317 {
318  d->setMaxThreads(value);
319 }

◆ on_mutationsPerCandidateShapeSlider_valueChanged

void geometrize::dialog::ImageTaskRunnerWidget::on_mutationsPerCandidateShapeSlider_valueChanged ( int  value)
privateslot
307 {
308  d->setMutationsPerCandidateShape(value);
309 }

◆ on_randomSeedSpinBox_valueChanged

void geometrize::dialog::ImageTaskRunnerWidget::on_randomSeedSpinBox_valueChanged ( int  value)
privateslot
312 {
313  d->setRandomSeed(value);
314 }

◆ on_runStopButton_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_runStopButton_clicked ( )
privateslot
237 {
238  d->toggleRunning();
239 }

◆ on_shapeOpacitySlider_valueChanged

void geometrize::dialog::ImageTaskRunnerWidget::on_shapeOpacitySlider_valueChanged ( int  value)
privateslot
297 {
298  d->setShapeOpacity(value);
299 }

◆ on_stepButton_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_stepButton_clicked ( )
privateslot
242 {
243  d->stepModel();
244 }

◆ on_usesCircles_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesCircles_clicked ( bool  checked)
privateslot
277 {
278  d->setShapes(geometrize::CIRCLE, checked);
279 }

◆ on_usesEllipses_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesEllipses_clicked ( bool  checked)
privateslot
267 {
268  d->setShapes(geometrize::ELLIPSE, checked);
269 }

◆ on_usesLines_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesLines_clicked ( bool  checked)
privateslot
282 {
283  d->setShapes(geometrize::LINE, checked);
284 }

◆ on_usesPolylines_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesPolylines_clicked ( bool  checked)
privateslot
292 {
293  d->setShapes(geometrize::POLYLINE, checked);
294 }

◆ on_usesQuadraticBeziers_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesQuadraticBeziers_clicked ( bool  checked)
privateslot
287 {
288  d->setShapes(geometrize::QUADRATIC_BEZIER, checked);
289 }

◆ on_usesRectangles_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesRectangles_clicked ( bool  checked)
privateslot
252 {
253  d->setShapes(geometrize::RECTANGLE, checked);
254 }

◆ on_usesRotatedEllipses_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesRotatedEllipses_clicked ( bool  checked)
privateslot
272 {
273  d->setShapes(geometrize::ROTATED_ELLIPSE, checked);
274 }

◆ on_usesRotatedRectangles_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesRotatedRectangles_clicked ( bool  checked)
privateslot
257 {
258  d->setShapes(geometrize::ROTATED_RECTANGLE, checked);
259 }

◆ on_usesTriangles_clicked

void geometrize::dialog::ImageTaskRunnerWidget::on_usesTriangles_clicked ( bool  checked)
privateslot
262 {
263  d->setShapes(geometrize::TRIANGLE, checked);
264 }

◆ runStopButtonClicked

void geometrize::dialog::ImageTaskRunnerWidget::runStopButtonClicked ( )
signal
Here is the caller graph for this function:

◆ setImageTask()

void geometrize::dialog::ImageTaskRunnerWidget::setImageTask ( task::ImageTask task)

setImageTask Sets the current image task used by the runner.

Parameters
taskNon-owning pointer to the image task that the runner settings on this widget will use.
222 {
223  d->setImageTask(task);
224 }

◆ setRunStopButtonText()

void geometrize::dialog::ImageTaskRunnerWidget::setRunStopButtonText ( const QString &  text)

setRunStopButtonText Sets the text on the run/stop button in the UI.

Parameters
textThe text to set on the run/stop button.
227 {
228  d->setRunStopButtonText(text);
229 }

◆ shapeBoundsSliderMoved

void geometrize::dialog::ImageTaskRunnerWidget::shapeBoundsSliderMoved ( )
signal

◆ stepButtonClicked

void geometrize::dialog::ImageTaskRunnerWidget::stepButtonClicked ( )
signal
Here is the caller graph for this function:

◆ syncUserInterface()

void geometrize::dialog::ImageTaskRunnerWidget::syncUserInterface ( )

syncUserInterface Syncs the user interface with the current image task. This should be called after setting a new image task, or new task settings. Note this does not change the run/stop button text.

232 {
233  d->syncUserInterface();
234 }

Member Data Documentation

◆ d

std::unique_ptr<ImageTaskRunnerWidgetImpl> geometrize::dialog::ImageTaskRunnerWidget::d
private

The documentation for this class was generated from the following files:
geometrize::dialog::ImageTaskRunnerWidget::d
std::unique_ptr< ImageTaskRunnerWidgetImpl > d
Definition: imagetaskrunnerwidget.h:87