XX CMake Package
Loading...
Searching...
No Matches
XXPopulatedAbstract.h
Go to the documentation of this file.
1#ifndef XXPopulatedAbstractH
2#define XXPopulatedAbstractH
3
5
6#include <QDomElement>
7#include <QToolBar>
8#include <QWidget>
9
10namespace XX
11{
12 namespace Populated
13 {
16
18 {
19 public:
20 using ToolBarCreationFunction = std::function<QToolBar*(const QString& objectName)>;
21 using MenuCreationFunction = std::function<QMenu*(const QString& objectName, const QString& text, QMenu* parentMenu)>;
22
23 public:
24 Abstract(QWidget* parentWidget);
25 virtual ~Abstract();
26
27 public:
28 static void printSettingsLocation();
29 static QAction* addAction(QIcon icon, QString text, QString objectName, QObject* instance, auto slotFunction);
30 static QAction* addFunctorAction(QIcon icon, QString text, QString objectName, QObject* parent, auto functor);
31 static void setActionIcon(QObject* parent, QString objectName, QIcon icon);
32 static void setActionShortcut(QObject* parent, QString objectName, QKeySequence shortcut);
33
34 static QString writeExampleResource(const QString& xmlResource);
35 void populateMenuAndToolBar(const QString& xmlResource);
36
37 protected:
38 void setFunctions(ToolBarCreationFunction toolBarCreationFunction, MenuCreationFunction menuCreationFunction);
39
40 private:
41 void createToolBar(QDomElement thingElement);
42 void createMenu(QDomElement thingElement, QMenu* parentMenu);
43
44 private:
45 QWidget* parentWidget;
46 ToolBarCreationFunction toolBarCreationFunction;
47 MenuCreationFunction menuCreationFunction;
48 };
49 } // namespace Populated
50} // namespace XX
51
52#ifndef XXPopulatedAbstractHPP
53#include "XXPopulatedAbstract.hpp"
54#endif // NOT XXPopulatedAbstractHPP
55
56#endif // NOT XXPopulatedAbstractH
#define XXAPPLICATION_DECLSPEC
Definition XXApplicationExportDef.h:11
static void setActionShortcut(QObject *parent, QString objectName, QKeySequence shortcut)
Abstract(QWidget *parentWidget)
static QString writeExampleResource(const QString &xmlResource)
std::function< QMenu *(const QString &objectName, const QString &text, QMenu *parentMenu)> MenuCreationFunction
Definition XXPopulatedAbstract.h:21
static QAction * addFunctorAction(QIcon icon, QString text, QString objectName, QObject *parent, auto functor)
void setFunctions(ToolBarCreationFunction toolBarCreationFunction, MenuCreationFunction menuCreationFunction)
static void printSettingsLocation()
void populateMenuAndToolBar(const QString &xmlResource)
static QAction * addAction(QIcon icon, QString text, QString objectName, QObject *instance, auto slotFunction)
std::function< QToolBar *(const QString &objectName)> ToolBarCreationFunction
Definition XXPopulatedAbstract.h:20
static void setActionIcon(QObject *parent, QString objectName, QIcon icon)
Definition XXPopulatedAbstract.h:13
Definition XXPopulatedAbstract.h:11