##// END OF EJS Templates
Added static plugin support...
Added static plugin support In case of fully static exe even plugins must be static to allow single file executable. Small fix, when using resources in app from library they must be initialized with Q_INIT_RESOURCE. Signed-off-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>

File last commit:

r1118:f354146de80e
r1156:247dc18789c6
Show More
SelectionZoneAction.cpp
66 lines | 2.0 KiB | text/x-c | CppLexer
/ gui / src / Actions / SelectionZoneAction.cpp
Adds a a gui controller class to manage global actions across the application.
r1111 #include <Actions/SelectionZoneAction.h>
#include <Visualization/VisualizationSelectionZoneItem.h>
Q_LOGGING_CATEGORY(LOG_SelectionZoneAction, "SelectionZoneAction")
struct SelectionZoneAction::SelectionZoneActionPrivate {
Put the align actions in sub menus
r1118 explicit SelectionZoneActionPrivate(const QString &name, const QStringList &subMenuList,
Adds a a gui controller class to manage global actions across the application.
r1111 SelectionZoneAction::ExecuteFunction fun)
Put the align actions in sub menus
r1118 : m_Name{name}, m_SubMenuList{subMenuList}, m_Fun{std::move(fun)}
Adds a a gui controller class to manage global actions across the application.
r1111 {
}
QString m_Name;
Put the align actions in sub menus
r1118 QStringList m_SubMenuList;
Add action to remove the selected zone with the "del" buttons
r1117 QKeySequence m_DisplayedShortcut;
Adds a a gui controller class to manage global actions across the application.
r1111 SelectionZoneAction::ExecuteFunction m_Fun;
Add a lambda in SeletionZoneAction to enable or disable the action
r1115 SelectionZoneAction::EnableFunction m_EnableFun = [](auto zones) { return true; };
Adds a a gui controller class to manage global actions across the application.
r1111 };
SelectionZoneAction::SelectionZoneAction(const QString &name, ExecuteFunction fun)
Put the align actions in sub menus
r1118 : impl{spimpl::make_unique_impl<SelectionZoneActionPrivate>(name, QStringList{},
std::move(fun))}
{
}
SelectionZoneAction::SelectionZoneAction(const QStringList &subMenuList, const QString &name,
SelectionZoneAction::ExecuteFunction fun)
: impl{spimpl::make_unique_impl<SelectionZoneActionPrivate>(name, subMenuList,
std::move(fun))}
Adds a a gui controller class to manage global actions across the application.
r1111 {
}
Add a lambda in SeletionZoneAction to enable or disable the action
r1115 void SelectionZoneAction::setEnableFunction(EnableFunction fun)
{
impl->m_EnableFun = std::move(fun);
}
Add action to remove the selected zone with the "del" buttons
r1117 void SelectionZoneAction::setDisplayedShortcut(const QKeySequence &shortcut)
{
impl->m_DisplayedShortcut = shortcut;
}
QKeySequence SelectionZoneAction::displayedShortcut() const
{
return impl->m_DisplayedShortcut;
}
Adds a a gui controller class to manage global actions across the application.
r1111 QString SelectionZoneAction::name() const noexcept
{
return impl->m_Name;
}
Put the align actions in sub menus
r1118 QStringList SelectionZoneAction::subMenuList() const noexcept
{
return impl->m_SubMenuList;
}
Adds a a gui controller class to manage global actions across the application.
r1111 void SelectionZoneAction::execute(const QVector<VisualizationSelectionZoneItem *> &item)
{
impl->m_Fun(item);
}
Add a lambda in SeletionZoneAction to enable or disable the action
r1115
bool SelectionZoneAction::isEnabled(const QVector<VisualizationSelectionZoneItem *> &item)
{
return impl->m_EnableFun(item);
}