Gui: In DockWindowItems::addDockWidget replace the booleans with the enum class DockWindowOptions
This commit is contained in:
@@ -49,13 +49,13 @@ DockWindowItems::DockWindowItems() = default;
|
||||
|
||||
DockWindowItems::~DockWindowItems() = default;
|
||||
|
||||
void DockWindowItems::addDockWidget(const char* name, Qt::DockWidgetArea pos, bool visibility, bool tabbed)
|
||||
void DockWindowItems::addDockWidget(const char* name, Qt::DockWidgetArea pos, DockWindowOptions option)
|
||||
{
|
||||
DockWindowItem item;
|
||||
item.name = QString::fromUtf8(name);
|
||||
item.pos = pos;
|
||||
item.visibility = visibility;
|
||||
item.tabbed = tabbed;
|
||||
item.visibility = option.testFlag(DockWindowOption::Visible);
|
||||
item.tabbed = option.testFlag(DockWindowOption::HiddenTabbed);
|
||||
_items << item;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#define GUI_DOCKWINDOWMANAGER_H
|
||||
|
||||
#include <QObject>
|
||||
#include <Base/Bitmask.h>
|
||||
#include <FCGlobal.h>
|
||||
|
||||
class QDockWidget;
|
||||
@@ -31,6 +32,18 @@ class QWidget;
|
||||
|
||||
namespace Gui {
|
||||
|
||||
enum class DockWindowOption
|
||||
{
|
||||
// clang-format off
|
||||
Hidden = 0,
|
||||
Visible = 1,
|
||||
HiddenTabbed = 2,
|
||||
VisibleTabbed = 3
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
using DockWindowOptions = Base::Flags<DockWindowOption>;
|
||||
|
||||
struct DockWindowItem {
|
||||
QString name;
|
||||
Qt::DockWidgetArea pos;
|
||||
@@ -44,7 +57,7 @@ public:
|
||||
DockWindowItems();
|
||||
~DockWindowItems();
|
||||
|
||||
void addDockWidget(const char* name, Qt::DockWidgetArea pos, bool visibility, bool tabbed);
|
||||
void addDockWidget(const char* name, Qt::DockWidgetArea pos, DockWindowOptions option);
|
||||
void setDockingArea(const char* name, Qt::DockWidgetArea pos);
|
||||
void setVisibility(const char* name, bool v);
|
||||
void setVisibility(bool v);
|
||||
@@ -122,4 +135,6 @@ private:
|
||||
|
||||
} // namespace Gui
|
||||
|
||||
ENABLE_BITMASK_OPERATORS(Gui::DockWindowOption)
|
||||
|
||||
#endif // GUI_DOCKWINDOWMANAGER_H
|
||||
|
||||
@@ -860,13 +860,13 @@ ToolBarItem* StdWorkbench::setupCommandBars() const
|
||||
DockWindowItems* StdWorkbench::setupDockWindows() const
|
||||
{
|
||||
auto root = new DockWindowItems();
|
||||
root->addDockWidget("Std_TreeView", Qt::LeftDockWidgetArea, true, false);
|
||||
root->addDockWidget("Std_PropertyView", Qt::LeftDockWidgetArea, true, false);
|
||||
root->addDockWidget("Std_SelectionView", Qt::LeftDockWidgetArea, false, false);
|
||||
root->addDockWidget("Std_ComboView", Qt::LeftDockWidgetArea, true, true);
|
||||
root->addDockWidget("Std_TaskView", Qt::LeftDockWidgetArea, true, true);
|
||||
root->addDockWidget("Std_ReportView", Qt::BottomDockWidgetArea, false, true);
|
||||
root->addDockWidget("Std_PythonView", Qt::BottomDockWidgetArea, false, true);
|
||||
root->addDockWidget("Std_TreeView", Qt::LeftDockWidgetArea, Gui::DockWindowOption::Visible);
|
||||
root->addDockWidget("Std_PropertyView", Qt::LeftDockWidgetArea, Gui::DockWindowOption::Visible);
|
||||
root->addDockWidget("Std_SelectionView", Qt::LeftDockWidgetArea, Gui::DockWindowOption::Hidden);
|
||||
root->addDockWidget("Std_ComboView", Qt::LeftDockWidgetArea, Gui::DockWindowOption::VisibleTabbed);
|
||||
root->addDockWidget("Std_TaskView", Qt::LeftDockWidgetArea, Gui::DockWindowOption::VisibleTabbed);
|
||||
root->addDockWidget("Std_ReportView", Qt::BottomDockWidgetArea, Gui::DockWindowOption::HiddenTabbed);
|
||||
root->addDockWidget("Std_PythonView", Qt::BottomDockWidgetArea, Gui::DockWindowOption::HiddenTabbed);
|
||||
|
||||
//Dagview through parameter.
|
||||
ParameterGrp::handle group = App::GetApplication().GetUserParameter().
|
||||
@@ -874,7 +874,7 @@ DockWindowItems* StdWorkbench::setupDockWindows() const
|
||||
|
||||
bool enabled = group->GetBool("Enabled", false);
|
||||
if (enabled) {
|
||||
root->addDockWidget("Std_DAGView", Qt::RightDockWidgetArea, false, false);
|
||||
root->addDockWidget("Std_DAGView", Qt::RightDockWidgetArea, Gui::DockWindowOption::Hidden);
|
||||
}
|
||||
|
||||
return root;
|
||||
@@ -995,7 +995,7 @@ ToolBarItem* NoneWorkbench::setupCommandBars() const
|
||||
DockWindowItems* NoneWorkbench::setupDockWindows() const
|
||||
{
|
||||
auto root = new DockWindowItems();
|
||||
root->addDockWidget("Std_ReportView", Qt::BottomDockWidgetArea, true, false);
|
||||
root->addDockWidget("Std_ReportView", Qt::BottomDockWidgetArea, Gui::DockWindowOption::Visible);
|
||||
return root;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user