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

The LaunchWindow class models the UI for a launchpad for opening new task templates and recent tasks. More...

#include <launchwindow.h>

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

Classes

class  LaunchWindowImpl
 

Public Member Functions

 LaunchWindow ()
 
virtual ~LaunchWindow ()
 
virtual void handleCommand (const geometrize::script::Command &command) override
 
virtual std::string getCommandHandlerName () const override
 
virtual void setCommandHandlerName (const std::string &name) override
 
virtual void dragEnterEvent (QDragEnterEvent *event) override
 
virtual void dropEvent (QDropEvent *event) override
 
- Public Member Functions inherited from geometrize::script::CommandHandler
 CommandHandler ()
 
virtual ~CommandHandler ()
 

Static Public Member Functions

static std::vector< LaunchWindow * > getTopLevelLaunchWindows ()
 getTopLevelLaunchWindows Gets all of the existing top level launch windows. More...
 

Protected Member Functions

void changeEvent (QEvent *) override
 

Private Slots

void on_actionGlobal_Preferences_triggered ()
 
void on_actionLoad_Global_Preferences_triggered ()
 
void on_actionSave_Global_Preferences_triggered ()
 
void on_actionClear_Recents_triggered ()
 
void on_actionExit_triggered ()
 
void on_actionTutorials_triggered ()
 
void on_actionSupport_triggered ()
 
void on_actionAbout_triggered ()
 
void on_openImageButton_clicked ()
 
void on_openLinkButton_clicked ()
 
void on_runScriptButton_clicked ()
 
void on_openTaskQueueButton_clicked ()
 

Private Member Functions

void closeEvent (QCloseEvent *bar) override
 

Private Attributes

std::unique_ptr< LaunchWindowImpld
 

Additional Inherited Members

- Static Public Attributes inherited from geometrize::script::CommandHandler
static std::set< CommandHandler * > allCommandHandlers
 

Detailed Description

The LaunchWindow class models the UI for a launchpad for opening new task templates and recent tasks.

Constructor & Destructor Documentation

◆ LaunchWindow()

geometrize::dialog::LaunchWindow::LaunchWindow ( )
explicit
286  :
287  QMainWindow(nullptr),
288  d{std::make_unique<LaunchWindow::LaunchWindowImpl>(this)}
289 {
290 }

◆ ~LaunchWindow()

geometrize::dialog::LaunchWindow::~LaunchWindow ( )
virtual
293 {
294 }

Member Function Documentation

◆ changeEvent()

void geometrize::dialog::LaunchWindow::changeEvent ( QEvent *  event)
overrideprotected
425 {
426  if (event->type() == QEvent::LanguageChange) {
427  d->onLanguageChange();
428  }
429  QMainWindow::changeEvent(event);
430 }

◆ closeEvent()

void geometrize::dialog::LaunchWindow::closeEvent ( QCloseEvent *  bar)
overrideprivate
348 {
349  d->saveConsoleHistory();
350 }

◆ dragEnterEvent()

void geometrize::dialog::LaunchWindow::dragEnterEvent ( QDragEnterEvent *  event)
overridevirtual
317 {
318  event->acceptProposedAction();
319 }

◆ dropEvent()

void geometrize::dialog::LaunchWindow::dropEvent ( QDropEvent *  event)
overridevirtual
322 {
323  const QList<QUrl> urls{geometrize::format::getUrls(event->mimeData())};
324  QStringList scripts;
325  QStringList tasks;
326  for(const QUrl& url : urls) {
327  const QString urlString{url.toString()};
328 
329  if(urlString.endsWith(".chai") && url.isLocalFile()) {
330  scripts.push_back(url.toLocalFile());
331  } else {
332  tasks.push_back(urlString);
333  }
334  }
335 
336  if(!scripts.empty()) {
337  for(const QString& scriptPath : scripts) {
338  geometrize::script::runScript(util::readFileAsString(scriptPath.toStdString()));
339  }
340  }
341 
342  if(!tasks.empty()) {
343  util::openTasks(tasks, true);
344  }
345 }
Here is the call graph for this function:

◆ getCommandHandlerName()

std::string geometrize::dialog::LaunchWindow::getCommandHandlerName ( ) const
overridevirtual

Implements geometrize::script::CommandHandler.

307 {
308  return d->getCommandHandlerName();
309 }

◆ getTopLevelLaunchWindows()

std::vector< LaunchWindow * > geometrize::dialog::LaunchWindow::getTopLevelLaunchWindows ( )
static

getTopLevelLaunchWindows Gets all of the existing top level launch windows.

Returns
The top level launch windows. Should only be empty if there are no launch windows open.
297 {
299 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ handleCommand()

void geometrize::dialog::LaunchWindow::handleCommand ( const geometrize::script::Command command)
overridevirtual

Implements geometrize::script::CommandHandler.

302 {
303  d->handleCommand(command);
304 }

◆ on_actionAbout_triggered

void geometrize::dialog::LaunchWindow::on_actionAbout_triggered ( )
privateslot
420 {
422 }
Here is the call graph for this function:

◆ on_actionClear_Recents_triggered

void geometrize::dialog::LaunchWindow::on_actionClear_Recents_triggered ( )
privateslot
368 {
370 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_actionExit_triggered

void geometrize::dialog::LaunchWindow::on_actionExit_triggered ( )
privateslot
373 {
374  close();
375 }
Here is the caller graph for this function:

◆ on_actionGlobal_Preferences_triggered

void geometrize::dialog::LaunchWindow::on_actionGlobal_Preferences_triggered ( )
privateslot
353 {
355 }
Here is the call graph for this function:
Here is the caller graph for this function:

◆ on_actionLoad_Global_Preferences_triggered

void geometrize::dialog::LaunchWindow::on_actionLoad_Global_Preferences_triggered ( )
privateslot
358 {
359  d->loadGlobalSettingsTemplate();
360 }
Here is the caller graph for this function:

◆ on_actionSave_Global_Preferences_triggered

void geometrize::dialog::LaunchWindow::on_actionSave_Global_Preferences_triggered ( )
privateslot
363 {
364  d->saveGlobalSettingsTemplate();
365 }
Here is the caller graph for this function:

◆ on_actionSupport_triggered

void geometrize::dialog::LaunchWindow::on_actionSupport_triggered ( )
privateslot
415 {
417 }
Here is the call graph for this function:

◆ on_actionTutorials_triggered

void geometrize::dialog::LaunchWindow::on_actionTutorials_triggered ( )
privateslot
410 {
412 }
Here is the call graph for this function:

◆ on_openImageButton_clicked

void geometrize::dialog::LaunchWindow::on_openImageButton_clicked ( )
privateslot
378 {
379  const QString imagePath{common::ui::openImagePathPickerDialog(this)};
380  QFileInfo imageFileInfo(imagePath);
381  if(imagePath.isEmpty() || (imageFileInfo.isSymLink() && !QFileInfo(imageFileInfo.symLinkTarget()).exists())) {
382  return;
383  }
384 
385  geometrize::util::openTasks({ imagePath }, true);
386 }
Here is the call graph for this function:

◆ on_openLinkButton_clicked

void geometrize::dialog::LaunchWindow::on_openLinkButton_clicked ( )
privateslot
389 {
390  const QUrl url{common::ui::openGetUrlDialog(this)};
391  if(url.isEmpty() || !url.isValid()) {
392  return;
393  }
394 
395  geometrize::util::openTasks({ url.toString() }, true);
396 }
Here is the call graph for this function:

◆ on_openTaskQueueButton_clicked

void geometrize::dialog::LaunchWindow::on_openTaskQueueButton_clicked ( )
privateslot
405 {
407 }
Here is the call graph for this function:

◆ on_runScriptButton_clicked

void geometrize::dialog::LaunchWindow::on_runScriptButton_clicked ( )
privateslot
399 {
400  const std::string result{common::ui::openGetScriptDialog(this).toStdString()};
402 }
Here is the call graph for this function:

◆ setCommandHandlerName()

void geometrize::dialog::LaunchWindow::setCommandHandlerName ( const std::string &  name)
overridevirtual

Implements geometrize::script::CommandHandler.

312 {
313  d->setCommandHandlerName(name);
314 }

Member Data Documentation

◆ d

std::unique_ptr<LaunchWindowImpl> geometrize::dialog::LaunchWindow::d
private

The documentation for this class was generated from the following files:
geometrize::common::ui::openImagePathPickerDialog
QString openImagePathPickerDialog(QWidget *parent)
Definition: uiactions.cpp:103
geometrize::common::ui::openGlobalPreferences
void openGlobalPreferences(QWidget *parent)
Definition: uiactions.cpp:92
geometrize::dialog::LaunchWindow::d
std::unique_ptr< LaunchWindowImpl > d
Definition: launchwindow.h:62
geometrize::common::ui::openGetUrlDialog
QUrl openGetUrlDialog(QWidget *parent)
Definition: uiactions.cpp:173
geometrize::dialog::LaunchWindow::LaunchWindowImpl::getTopLevelLaunchWindows
static std::vector< LaunchWindow * > getTopLevelLaunchWindows()
Definition: launchwindow.cpp:82
geometrize::RecentItems::clear
void clear()
clear Removes all items from the recent items.
Definition: recentitems.cpp:196
geometrize::util::readFileAsString
std::string readFileAsString(const std::string &filePath)
readFileAsString Reads a file, returning a string containing the contents.
Definition: util.cpp:155
geometrize::common::ui::openTechnicalSupport
void openTechnicalSupport()
Definition: uiactions.cpp:197
geometrize::common::ui::openOnlineTutorials
void openOnlineTutorials()
Definition: uiactions.cpp:202
geometrize::getRecentItems
RecentItems & getRecentItems()
getRecentItems Gets a reference to the recent files list.
Definition: recentitems.cpp:206
geometrize::common::ui::openGetScriptDialog
QString openGetScriptDialog(QWidget *parent)
Definition: uiactions.cpp:182
geometrize::script::runScript
void runScript(const std::string &code, chaiscript::ChaiScript &runner)
runScript Evaluates the provided script code.
Definition: scriptrunner.cpp:16
geometrize::common::ui::openAboutPage
void openAboutPage(QWidget *parent)
Definition: uiactions.cpp:86
geometrize::format::getUrls
QList< QUrl > getUrls(const QMimeData *const data)
getUrls Gets a list of URLs from a Qt MimeData item.
Definition: formatsupport.cpp:35
geometrize::util::openTasks
void openTasks(const QStringList &urls, const bool addToRecents)
Definition: taskutil.cpp:58
geometrize::common::ui::openTaskQueueWindow
void openTaskQueueWindow()
Definition: uiactions.cpp:71