init
This commit is contained in:
882
ui/lc_widgetfactory.cpp
Normal file
882
ui/lc_widgetfactory.cpp
Normal file
@@ -0,0 +1,882 @@
|
||||
/*
|
||||
**********************************************************************************
|
||||
**
|
||||
** This file was created for the LibreCAD project (librecad.org), a 2D CAD program.
|
||||
**
|
||||
** Copyright (C) 2015 ravas (github.com/r-a-v-a-s)
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or
|
||||
** modify it under the terms of the GNU General Public License
|
||||
** as published by the Free Software Foundation; either version 2
|
||||
** of the License, or (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program; if not, write to the Free Software
|
||||
** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
||||
**
|
||||
**********************************************************************************
|
||||
*/
|
||||
|
||||
#include "qc_applicationwindow.h"
|
||||
#include "lc_widgetfactory.h"
|
||||
#include "lc_actionfactory.h"
|
||||
#include "lc_dockwidget.h"
|
||||
#include "lc_actiongroupmanager.h"
|
||||
|
||||
#include "qg_actionhandler.h"
|
||||
#include "qg_snaptoolbar.h"
|
||||
#include "qg_blockwidget.h"
|
||||
#include "qg_layerwidget.h"
|
||||
#include "qg_librarywidget.h"
|
||||
#include "qg_commandwidget.h"
|
||||
#include "qg_selectionwidget.h"
|
||||
#include "qg_activelayername.h"
|
||||
#include "qg_mousewidget.h"
|
||||
#include "qg_pentoolbar.h"
|
||||
|
||||
#include <QMenu>
|
||||
#include <QFile>
|
||||
#include <QMenuBar>
|
||||
#include <QActionGroup>
|
||||
|
||||
|
||||
LC_WidgetFactory::LC_WidgetFactory(QC_ApplicationWindow* main_win,
|
||||
QMap<QString, QAction*>& action_map,
|
||||
LC_ActionGroupManager* agm)
|
||||
: QObject(nullptr)
|
||||
, main_window(main_win)
|
||||
, a_map(action_map)
|
||||
, ag_manager(agm)
|
||||
{
|
||||
file_actions
|
||||
<< a_map["FileNew"]
|
||||
<< a_map["FileNewTemplate"]
|
||||
<< a_map["FileOpen"]
|
||||
<< a_map["FileSave"]
|
||||
<< a_map["FileSaveAs"]
|
||||
<< a_map["FileSaveAll"];
|
||||
|
||||
line_actions
|
||||
<< a_map["DrawLine"]
|
||||
<< a_map["DrawLineAngle"]
|
||||
<< a_map["DrawLineHorizontal"]
|
||||
<< a_map["DrawLineVertical"]
|
||||
<< a_map["DrawLineRectangle"]
|
||||
<< a_map["DrawLineParallelThrough"]
|
||||
<< a_map["DrawLineParallel"]
|
||||
<< a_map["DrawLineBisector"]
|
||||
<< a_map["DrawLineTangent1"]
|
||||
<< a_map["DrawLineTangent2"]
|
||||
<< a_map["DrawLineOrthTan"]
|
||||
<< a_map["DrawLineOrthogonal"]
|
||||
<< a_map["DrawLineRelAngle"]
|
||||
<< a_map["DrawLinePolygonCenCor"]
|
||||
<< a_map["DrawLinePolygonCenTan"] //20161226 added by txmy
|
||||
<< a_map["DrawLinePolygonCorCor"];
|
||||
|
||||
circle_actions
|
||||
<< a_map["DrawCircle"]
|
||||
<< a_map["DrawCircle2P"]
|
||||
<< a_map["DrawCircle2PR"]
|
||||
<< a_map["DrawCircle3P"]
|
||||
<< a_map["DrawCircleCR"]
|
||||
<< a_map["DrawCircleTan2_1P"]
|
||||
<< a_map["DrawCircleTan1_2P"]
|
||||
<< a_map["DrawCircleTan2"]
|
||||
<< a_map["DrawCircleTan3"];
|
||||
|
||||
curve_actions
|
||||
<< a_map["DrawArc"]
|
||||
<< a_map["DrawArc3P"]
|
||||
<< a_map["DrawArcTangential"]
|
||||
<< a_map["DrawSpline"]
|
||||
<< a_map["DrawSplinePoints"]
|
||||
<< a_map["DrawEllipseArcAxis"]
|
||||
<< a_map["DrawLineFree"];
|
||||
|
||||
ellipse_actions
|
||||
<< a_map["DrawEllipseAxis"]
|
||||
<< a_map["DrawEllipseFociPoint"]
|
||||
<< a_map["DrawEllipse4Points"]
|
||||
<< a_map["DrawEllipseCenter3Points"]
|
||||
<< a_map["DrawEllipseInscribe"];
|
||||
|
||||
polyline_actions
|
||||
<< a_map["DrawPolyline"]
|
||||
<< a_map["PolylineAdd"]
|
||||
<< a_map["PolylineAppend"]
|
||||
<< a_map["PolylineDel"]
|
||||
<< a_map["PolylineDelBetween"]
|
||||
<< a_map["PolylineTrim"]
|
||||
<< a_map["PolylineEquidistant"]
|
||||
<< a_map["PolylineSegment"];
|
||||
|
||||
select_actions
|
||||
<< a_map["DeselectAll"]
|
||||
<< a_map["SelectAll"]
|
||||
<< a_map["SelectSingle"]
|
||||
<< a_map["SelectContour"]
|
||||
<< a_map["SelectWindow"]
|
||||
<< a_map["DeselectWindow"]
|
||||
<< a_map["SelectIntersected"]
|
||||
<< a_map["DeselectIntersected"]
|
||||
<< a_map["SelectLayer"]
|
||||
<< a_map["SelectInvert"];
|
||||
|
||||
dimension_actions
|
||||
<< a_map["DimAligned"]
|
||||
<< a_map["DimLinear"]
|
||||
<< a_map["DimLinearHor"]
|
||||
<< a_map["DimLinearVer"]
|
||||
<< a_map["DimRadial"]
|
||||
<< a_map["DimDiametric"]
|
||||
<< a_map["DimAngular"]
|
||||
<< a_map["DimLeader"];
|
||||
|
||||
modify_actions
|
||||
<< a_map["ModifyMove"]
|
||||
<< a_map["ModifyRotate"]
|
||||
<< a_map["ModifyScale"]
|
||||
<< a_map["ModifyMirror"]
|
||||
<< a_map["ModifyMoveRotate"]
|
||||
<< a_map["ModifyRotate2"]
|
||||
<< a_map["ModifyRevertDirection"]
|
||||
<< a_map["ModifyTrim"]
|
||||
<< a_map["ModifyTrim2"]
|
||||
<< a_map["ModifyTrimAmount"]
|
||||
<< a_map["ModifyOffset"]
|
||||
<< a_map["ModifyBevel"]
|
||||
<< a_map["ModifyRound"]
|
||||
<< a_map["ModifyCut"]
|
||||
<< a_map["ModifyStretch"]
|
||||
<< a_map["ModifyEntity"]
|
||||
<< a_map["ModifyAttributes"]
|
||||
<< a_map["ModifyExplodeText"]
|
||||
<< a_map["BlocksExplode"]
|
||||
<< a_map["ModifyDeleteQuick"];
|
||||
|
||||
info_actions
|
||||
<< a_map["InfoDist"]
|
||||
<< a_map["InfoDist2"]
|
||||
<< a_map["InfoAngle"]
|
||||
<< a_map["InfoTotalLength"]
|
||||
<< a_map["InfoArea"];
|
||||
|
||||
layer_actions
|
||||
<< a_map["LayersDefreezeAll"]
|
||||
<< a_map["LayersFreezeAll"]
|
||||
<< a_map["LayersUnlockAll"]
|
||||
<< a_map["LayersLockAll"]
|
||||
<< a_map["LayersAdd"]
|
||||
<< a_map["LayersRemove"]
|
||||
<< a_map["LayersEdit"]
|
||||
<< a_map["LayersToggleLock"]
|
||||
<< a_map["LayersToggleView"]
|
||||
<< a_map["LayersTogglePrint"]
|
||||
<< a_map["LayersToggleConstruction"];
|
||||
|
||||
block_actions
|
||||
<< a_map["BlocksDefreezeAll"]
|
||||
<< a_map["BlocksFreezeAll"]
|
||||
<< a_map["BlocksToggleView"]
|
||||
<< a_map["BlocksAdd"]
|
||||
<< a_map["BlocksRemove"]
|
||||
<< a_map["BlocksAttributes"]
|
||||
<< a_map["BlocksInsert"]
|
||||
<< a_map["BlocksEdit"]
|
||||
<< a_map["BlocksSave"]
|
||||
<< a_map["BlocksCreate"]
|
||||
<< a_map["BlocksExplode"];
|
||||
}
|
||||
|
||||
|
||||
void LC_WidgetFactory::createLeftSidebar(int columns, int icon_size)
|
||||
{
|
||||
LC_DockWidget* dock_line = new LC_DockWidget(main_window);
|
||||
dock_line->setObjectName("dock_line");
|
||||
dock_line->setWindowTitle(QC_ApplicationWindow::tr("Line"));
|
||||
dock_line->add_actions(line_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_circle = new LC_DockWidget(main_window);
|
||||
dock_circle->setObjectName("dock_circle");
|
||||
dock_circle->setWindowTitle(QC_ApplicationWindow::tr("Circle"));
|
||||
dock_circle->add_actions(circle_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_curve = new LC_DockWidget(main_window);
|
||||
dock_curve->setObjectName("dock_curve");
|
||||
dock_curve->setWindowTitle(QC_ApplicationWindow::tr("Curve"));
|
||||
dock_curve->add_actions(curve_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_ellipse = new LC_DockWidget(main_window);
|
||||
dock_ellipse->setObjectName("dock_ellipse");
|
||||
dock_ellipse->setWindowTitle(QC_ApplicationWindow::tr("Ellipse"));
|
||||
dock_ellipse->add_actions(ellipse_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_polyline = new LC_DockWidget(main_window);
|
||||
dock_polyline->setObjectName("dock_polyline");
|
||||
dock_polyline->setWindowTitle(QC_ApplicationWindow::tr("Polyline"));
|
||||
dock_polyline->add_actions(polyline_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_select = new LC_DockWidget(main_window);
|
||||
dock_select->setObjectName("dock_select");
|
||||
dock_select->setWindowTitle(QC_ApplicationWindow::tr("Select"));
|
||||
dock_select->add_actions(select_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_dimension = new LC_DockWidget(main_window);
|
||||
dock_dimension->setObjectName("dock_dimension");
|
||||
dock_dimension->setWindowTitle(QC_ApplicationWindow::tr("Dimension"));
|
||||
dock_dimension->add_actions(dimension_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_modify = new LC_DockWidget(main_window);
|
||||
dock_modify->setObjectName("dock_modify");
|
||||
dock_modify->setWindowTitle(QC_ApplicationWindow::tr("Modify"));
|
||||
dock_modify->add_actions(modify_actions, columns, icon_size);
|
||||
|
||||
LC_DockWidget* dock_info = new LC_DockWidget(main_window);
|
||||
dock_info->setObjectName("dock_info");
|
||||
dock_info->setWindowTitle(QC_ApplicationWindow::tr("Info"));
|
||||
dock_info->add_actions(info_actions, columns, icon_size);
|
||||
|
||||
main_window->addDockWidget(Qt::LeftDockWidgetArea, dock_line);
|
||||
main_window->tabifyDockWidget(dock_line, dock_polyline);
|
||||
dock_line->raise();
|
||||
main_window->addDockWidget(Qt::LeftDockWidgetArea, dock_circle);
|
||||
main_window->tabifyDockWidget(dock_circle, dock_curve);
|
||||
main_window->tabifyDockWidget(dock_curve, dock_ellipse);
|
||||
dock_circle->raise();
|
||||
main_window->addDockWidget(Qt::LeftDockWidgetArea, dock_dimension);
|
||||
main_window->tabifyDockWidget(dock_dimension, dock_info);
|
||||
main_window->tabifyDockWidget(dock_info, dock_select);
|
||||
dock_dimension->raise();
|
||||
main_window->addDockWidget(Qt::LeftDockWidgetArea, dock_modify);
|
||||
|
||||
dock_line->hide();
|
||||
dock_polyline->hide();
|
||||
dock_circle->hide();
|
||||
dock_curve->hide();
|
||||
dock_ellipse->hide();
|
||||
dock_dimension->hide();
|
||||
dock_info->hide();
|
||||
dock_modify->hide();
|
||||
dock_select->hide();
|
||||
}
|
||||
|
||||
void LC_WidgetFactory::createRightSidebar(QG_ActionHandler* action_handler)
|
||||
{
|
||||
QDockWidget* dock_layer = new QDockWidget(main_window);
|
||||
dock_layer->setWindowTitle(QC_ApplicationWindow::tr("Layer List"));
|
||||
dock_layer->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
|
||||
dock_layer->setObjectName("layer_dockwidget");
|
||||
layer_widget = new QG_LayerWidget(action_handler, dock_layer, "Layer");
|
||||
layer_widget->setFocusPolicy(Qt::NoFocus);
|
||||
connect(layer_widget, SIGNAL(escape()), main_window, SLOT(slotFocus()));
|
||||
connect(main_window, SIGNAL(windowsChanged(bool)), layer_widget, SLOT(setEnabled(bool)));
|
||||
dock_layer->setWidget(layer_widget);
|
||||
|
||||
QDockWidget* dock_block = new QDockWidget(main_window);
|
||||
dock_block->setWindowTitle(QC_ApplicationWindow::tr("Block List"));
|
||||
dock_block->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
|
||||
dock_block->setObjectName("block_dockwidget");
|
||||
block_widget = new QG_BlockWidget(action_handler, dock_block, "Block");
|
||||
block_widget->setFocusPolicy(Qt::NoFocus);
|
||||
connect(block_widget, SIGNAL(escape()), main_window, SLOT(slotFocus()));
|
||||
connect(main_window, SIGNAL(windowsChanged(bool)), block_widget, SLOT(setEnabled(bool)));
|
||||
dock_block->setWidget(block_widget);
|
||||
|
||||
QDockWidget* dock_library = new QDockWidget(main_window);
|
||||
dock_library->setWindowTitle(QC_ApplicationWindow::tr("Library Browser"));
|
||||
dock_library->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
|
||||
dock_library->setObjectName("library_dockwidget");
|
||||
library_widget = new QG_LibraryWidget(dock_library, "Library");
|
||||
library_widget->setActionHandler(action_handler);
|
||||
library_widget->setFocusPolicy(Qt::NoFocus);
|
||||
connect(library_widget, SIGNAL(escape()), main_window, SLOT(slotFocus()));
|
||||
connect(main_window, SIGNAL(windowsChanged(bool)),
|
||||
(QObject*)library_widget->bInsert, SLOT(setEnabled(bool)));
|
||||
dock_library->setWidget(library_widget);
|
||||
dock_library->resize(240, 400);
|
||||
|
||||
QDockWidget* dock_command = new QDockWidget(QC_ApplicationWindow::tr("Command line"), main_window);
|
||||
dock_command->setSizePolicy(QSizePolicy::Maximum, QSizePolicy::Maximum);
|
||||
dock_command->setObjectName("command_dockwidget");
|
||||
command_widget = new QG_CommandWidget(dock_command, "Command");
|
||||
command_widget->setActionHandler(action_handler);
|
||||
connect(main_window, SIGNAL(windowsChanged(bool)), command_widget, SLOT(setEnabled(bool)));
|
||||
connect(command_widget->leCommand, SIGNAL(escape()), main_window, SLOT(setFocus()));
|
||||
dock_command->setWidget(command_widget);
|
||||
|
||||
connect(dock_command, SIGNAL(dockLocationChanged(Qt::DockWidgetArea)),
|
||||
main_window, SLOT(modifyCommandTitleBar(Qt::DockWidgetArea)));
|
||||
|
||||
main_window->addDockWidget(Qt::RightDockWidgetArea, dock_library);
|
||||
main_window->tabifyDockWidget(dock_library, dock_block);
|
||||
main_window->tabifyDockWidget(dock_block, dock_layer);
|
||||
main_window->addDockWidget(Qt::RightDockWidgetArea, dock_command);
|
||||
// dm add
|
||||
dock_library->hide();
|
||||
dock_block->hide();
|
||||
dock_layer->hide();
|
||||
dock_command->hide();
|
||||
}
|
||||
|
||||
void LC_WidgetFactory::createStandardToolbars(QG_ActionHandler* action_handler)
|
||||
{
|
||||
QSizePolicy toolBarPolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
QToolBar* file_toolbar = new QToolBar(QC_ApplicationWindow::tr("File"), main_window);
|
||||
file_toolbar->setSizePolicy(toolBarPolicy);
|
||||
file_toolbar->setObjectName("file_toolbar");
|
||||
file_toolbar->addActions(file_actions);
|
||||
file_toolbar->addAction(a_map["FilePrint"]);
|
||||
file_toolbar->addAction(a_map["FilePrintPreview"]);
|
||||
|
||||
QToolBar* edit_toolbar = new QToolBar(QC_ApplicationWindow::tr("Edit"), main_window);
|
||||
edit_toolbar->setSizePolicy(toolBarPolicy);
|
||||
edit_toolbar->setObjectName("edit_toolbar");
|
||||
edit_toolbar->addAction(a_map["EditKillAllActions"]);
|
||||
edit_toolbar->addSeparator();
|
||||
edit_toolbar->addAction(a_map["EditUndo"]);
|
||||
edit_toolbar->addAction(a_map["EditRedo"]);
|
||||
edit_toolbar->addSeparator();
|
||||
edit_toolbar->addAction(a_map["EditCut"]);
|
||||
edit_toolbar->addAction(a_map["EditCopy"]);
|
||||
edit_toolbar->addAction(a_map["EditPaste"]);
|
||||
|
||||
QToolBar* order_toolbar = new QToolBar(QC_ApplicationWindow::tr("Order"), main_window);
|
||||
order_toolbar->setSizePolicy(toolBarPolicy);
|
||||
order_toolbar->setObjectName("order_toolbar");
|
||||
order_toolbar->addAction(a_map["OrderTop"]);
|
||||
order_toolbar->addAction(a_map["OrderBottom"]);
|
||||
order_toolbar->addAction(a_map["OrderRaise"]);
|
||||
order_toolbar->addAction(a_map["OrderLower"]);
|
||||
order_toolbar->hide();
|
||||
|
||||
QToolBar* view_toolbar = new QToolBar(QC_ApplicationWindow::tr("View"), main_window);
|
||||
view_toolbar->setObjectName("view_toolbar");
|
||||
view_toolbar->setSizePolicy(toolBarPolicy);
|
||||
view_toolbar->addAction(a_map["ViewGrid"]);
|
||||
view_toolbar->addAction(a_map["ViewDraft"]);
|
||||
view_toolbar->addSeparator();
|
||||
view_toolbar->addAction(a_map["ZoomRedraw"]);
|
||||
view_toolbar->addAction(a_map["ZoomIn"]);
|
||||
view_toolbar->addAction(a_map["ZoomOut"]);
|
||||
view_toolbar->addAction(a_map["ZoomAuto"]);
|
||||
view_toolbar->addAction(a_map["ZoomPrevious"]);
|
||||
view_toolbar->addAction(a_map["ZoomWindow"]);
|
||||
view_toolbar->addAction(a_map["ZoomPan"]);
|
||||
|
||||
snap_toolbar = new QG_SnapToolBar(main_window, action_handler, ag_manager);
|
||||
snap_toolbar->setWindowTitle(QC_ApplicationWindow::tr("Snap Selection"));
|
||||
snap_toolbar->setSizePolicy(toolBarPolicy);
|
||||
snap_toolbar->setObjectName("snap_toolbar" );
|
||||
action_handler->set_snap_toolbar(snap_toolbar);
|
||||
|
||||
pen_toolbar = new QG_PenToolBar(QC_ApplicationWindow::tr("Pen"), main_window);
|
||||
pen_toolbar->setSizePolicy(toolBarPolicy);
|
||||
pen_toolbar->setObjectName("pen_toolbar");
|
||||
|
||||
options_toolbar = new QToolBar(QC_ApplicationWindow::tr("Tool Options"), main_window);
|
||||
options_toolbar->setSizePolicy(toolBarPolicy);
|
||||
options_toolbar->setObjectName("options_toolbar");
|
||||
|
||||
// <[~ Dock Areas Toolbar ~]>
|
||||
|
||||
QToolBar* dockareas_toolbar = new QToolBar(main_window);
|
||||
dockareas_toolbar->setWindowTitle(QC_ApplicationWindow::tr("Dock Areas"));
|
||||
dockareas_toolbar->setSizePolicy(toolBarPolicy);
|
||||
dockareas_toolbar->setObjectName("dockareas_toolbar");
|
||||
dockareas_toolbar->addAction(a_map["LeftDockAreaToggle"]);
|
||||
dockareas_toolbar->addAction(a_map["RightDockAreaToggle"]);
|
||||
dockareas_toolbar->addAction(a_map["TopDockAreaToggle"]);
|
||||
dockareas_toolbar->addAction(a_map["BottomDockAreaToggle"]);
|
||||
dockareas_toolbar->addAction(a_map["FloatingDockwidgetsToggle"]);
|
||||
|
||||
// <[~ Creators ~]>
|
||||
|
||||
auto creators_toolbar = new QToolBar(main_window);
|
||||
creators_toolbar->setWindowTitle(QObject::tr("Creators"));
|
||||
creators_toolbar->setObjectName("creators_toolbar");
|
||||
creators_toolbar->addAction(a_map["InvokeMenuCreator"]);
|
||||
creators_toolbar->addAction(a_map["InvokeToolbarCreator"]);
|
||||
|
||||
// <[~ Toolbars Layout~]>
|
||||
|
||||
main_window->addToolBar(Qt::TopToolBarArea, file_toolbar);
|
||||
main_window->addToolBar(Qt::TopToolBarArea, edit_toolbar);
|
||||
main_window->addToolBar(Qt::TopToolBarArea, view_toolbar);
|
||||
main_window->addToolBarBreak();
|
||||
|
||||
main_window->addToolBar(Qt::TopToolBarArea, pen_toolbar);
|
||||
main_window->addToolBar(Qt::TopToolBarArea, options_toolbar);
|
||||
|
||||
main_window->addToolBar(Qt::LeftToolBarArea, order_toolbar);
|
||||
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, snap_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, dockareas_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, creators_toolbar);
|
||||
}
|
||||
|
||||
void LC_WidgetFactory::createCADToolbars()
|
||||
{
|
||||
QSizePolicy toolBarPolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
QToolBar* line_toolbar = new QToolBar(QC_ApplicationWindow::tr("Line"), main_window);
|
||||
line_toolbar->setSizePolicy(toolBarPolicy);
|
||||
line_toolbar->setObjectName("line_toolbar");
|
||||
line_toolbar->addActions(line_actions);
|
||||
line_toolbar->hide();
|
||||
|
||||
QToolBar* circle_toolbar = new QToolBar(QC_ApplicationWindow::tr("Circle"), main_window);
|
||||
circle_toolbar->setSizePolicy(toolBarPolicy);
|
||||
circle_toolbar->setObjectName ("circle_toolbar");
|
||||
circle_toolbar->addActions(circle_actions);
|
||||
circle_toolbar->hide();
|
||||
|
||||
QToolBar* curve_toolbar = new QToolBar(QC_ApplicationWindow::tr("Curve"), main_window);
|
||||
curve_toolbar->setSizePolicy(toolBarPolicy);
|
||||
curve_toolbar->setObjectName("curve_toolbar");
|
||||
curve_toolbar->addActions(curve_actions);
|
||||
curve_toolbar->hide();
|
||||
|
||||
QToolBar* ellipse_toolbar = new QToolBar(QC_ApplicationWindow::tr("Ellipse"), main_window);
|
||||
ellipse_toolbar->setSizePolicy(toolBarPolicy);
|
||||
ellipse_toolbar->setObjectName("ellipse_toolbar");
|
||||
ellipse_toolbar->addActions(ellipse_actions);
|
||||
ellipse_toolbar->hide();
|
||||
|
||||
QToolBar* polyline_toolbar = new QToolBar(QC_ApplicationWindow::tr("Polyline"), main_window);
|
||||
polyline_toolbar->setSizePolicy(toolBarPolicy);
|
||||
polyline_toolbar->setObjectName("polyline_toolbar");
|
||||
polyline_toolbar->addActions(polyline_actions);
|
||||
polyline_toolbar->hide();
|
||||
|
||||
QToolBar* select_toolbar = new QToolBar(QC_ApplicationWindow::tr("Select"), main_window);
|
||||
select_toolbar->setSizePolicy(toolBarPolicy);
|
||||
select_toolbar->setObjectName("select_toolbar");
|
||||
select_toolbar->addActions(select_actions);
|
||||
select_toolbar->hide();
|
||||
|
||||
QToolBar* dimension_toolbar = new QToolBar(QC_ApplicationWindow::tr("Dimension"), main_window);
|
||||
dimension_toolbar->setSizePolicy(toolBarPolicy);
|
||||
dimension_toolbar->setObjectName("dimension_toolbar");
|
||||
dimension_toolbar->addActions(dimension_actions);
|
||||
dimension_toolbar->hide();
|
||||
|
||||
QToolBar* modify_toolbar = new QToolBar(QC_ApplicationWindow::tr("Modify"), main_window);
|
||||
modify_toolbar->setSizePolicy(toolBarPolicy);
|
||||
modify_toolbar->setObjectName("modify_toolbar");
|
||||
modify_toolbar->addActions(modify_actions);
|
||||
modify_toolbar->hide();
|
||||
|
||||
QToolBar* info_toolbar = new QToolBar(QC_ApplicationWindow::tr("Info"), main_window);
|
||||
info_toolbar->setSizePolicy(toolBarPolicy);
|
||||
info_toolbar->setObjectName("info_toolbar");
|
||||
info_toolbar->addActions(info_actions);
|
||||
info_toolbar->hide();
|
||||
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, line_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, circle_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, curve_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, ellipse_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, polyline_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, dimension_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, modify_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, info_toolbar);
|
||||
main_window->addToolBar(Qt::BottomToolBarArea, select_toolbar);
|
||||
}
|
||||
|
||||
QToolBar* LC_WidgetFactory::createCategoriesToolbar()
|
||||
{
|
||||
QSizePolicy toolBarPolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
|
||||
QToolBar* categories_toolbar = new QToolBar(QC_ApplicationWindow::tr("Categories"), main_window);
|
||||
categories_toolbar->setSizePolicy(toolBarPolicy);
|
||||
categories_toolbar->setObjectName("categories_toolbar");
|
||||
|
||||
QToolButton* tool_button;
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/line.svg"));
|
||||
tool_button->setToolTip(tr("Lines"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(line_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/circle.svg"));
|
||||
tool_button->setToolTip(tr("Circles"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(circle_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/line_freehand.svg"));
|
||||
tool_button->setToolTip(tr("Freehand"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(curve_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/ellipses.svg"));
|
||||
tool_button->setToolTip(tr("Ellipses"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(ellipse_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/polylines.svg"));
|
||||
tool_button->setToolTip(tr("PolyLines"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(polyline_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/select.svg"));
|
||||
tool_button->setToolTip(tr("Select"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(select_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/dim_horizontal.svg"));
|
||||
tool_button->setToolTip(tr("Dimensions"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(dimension_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/move_rotate.svg"));
|
||||
tool_button->setToolTip(tr("Modify"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(modify_actions);
|
||||
|
||||
tool_button = new QToolButton;
|
||||
tool_button->setPopupMode(QToolButton::InstantPopup);
|
||||
tool_button->setIcon(QIcon(":/icons/measure.svg"));
|
||||
tool_button->setToolTip(tr("Measure"));
|
||||
categories_toolbar->addWidget(tool_button);
|
||||
tool_button->addActions(info_actions);
|
||||
|
||||
main_window->addToolBar(Qt::LeftToolBarArea, categories_toolbar);
|
||||
|
||||
return categories_toolbar;
|
||||
}
|
||||
|
||||
void LC_WidgetFactory::createMenus(QMenuBar* menu_bar)
|
||||
{
|
||||
QMenu* sub_menu;
|
||||
// <[~ File ~]>
|
||||
|
||||
file_menu = new QMenu(QC_ApplicationWindow::tr("&File"), menu_bar);
|
||||
file_menu->setObjectName("File");
|
||||
file_menu->setTearOffEnabled(true);
|
||||
file_menu->addAction(a_map["FileNew"]);
|
||||
file_menu->addAction(a_map["FileNewTemplate"]);
|
||||
file_menu->addAction(a_map["FileOpen"]);
|
||||
file_menu->addSeparator();
|
||||
file_menu->addAction(a_map["FileSave"]);
|
||||
file_menu->addAction(a_map["FileSaveAs"]);
|
||||
file_menu->addAction(a_map["FileSaveAll"]);
|
||||
file_menu->addSeparator();
|
||||
sub_menu = file_menu->addMenu(QIcon(":/icons/import.svg"), QC_ApplicationWindow::tr("Import"));
|
||||
sub_menu->setObjectName("Import");
|
||||
sub_menu->addAction(a_map["DrawImage"]);
|
||||
sub_menu->addAction(a_map["BlocksImport"]);
|
||||
sub_menu = file_menu->addMenu(QIcon(":/icons/export.svg"), QC_ApplicationWindow::tr("Export"));
|
||||
sub_menu->setObjectName("Export");
|
||||
sub_menu->addAction(a_map["FileExportMakerCam"]);
|
||||
sub_menu->addAction(a_map["FilePrintPDF"]);
|
||||
sub_menu->addAction(a_map["FileExport"]);
|
||||
file_menu->addSeparator();
|
||||
file_menu->addAction(a_map["FilePrint"]);
|
||||
file_menu->addAction(a_map["FilePrintPreview"]);
|
||||
file_menu->addSeparator();
|
||||
file_menu->addAction(a_map["FileClose"]);
|
||||
file_menu->addAction(a_map["FileCloseAll"]);
|
||||
file_menu->addAction(a_map["FileQuit"]);
|
||||
file_menu->addSeparator();
|
||||
|
||||
// <[~ Options ~]>
|
||||
|
||||
QMenu* settings_menu = new QMenu(QC_ApplicationWindow::tr("&Options"), menu_bar);
|
||||
settings_menu->setObjectName("options_menu");
|
||||
settings_menu->setTearOffEnabled(true);
|
||||
settings_menu->addAction(a_map["OptionsGeneral"]);
|
||||
settings_menu->addAction(a_map["OptionsDrawing"]);
|
||||
settings_menu->addAction(a_map["WidgetOptions"]);
|
||||
settings_menu->addAction(a_map["DeviceOptions"]);
|
||||
settings_menu->addAction(a_map["ReloadStyleSheet"]);
|
||||
|
||||
// <[~ Edit ~]>
|
||||
|
||||
QMenu* edit_menu = new QMenu(QC_ApplicationWindow::tr("&Edit"), menu_bar);
|
||||
edit_menu->setObjectName("Edit");
|
||||
edit_menu->setTearOffEnabled(true);
|
||||
edit_menu->addAction(a_map["EditKillAllActions"]);
|
||||
edit_menu->addSeparator();
|
||||
edit_menu->addAction(a_map["EditUndo"]);
|
||||
edit_menu->addAction(a_map["EditRedo"]);
|
||||
edit_menu->addSeparator();
|
||||
edit_menu->addAction(a_map["EditCut"]);
|
||||
edit_menu->addAction(a_map["EditCopy"]);
|
||||
edit_menu->addAction(a_map["EditPaste"]);
|
||||
edit_menu->addAction(a_map["ModifyDeleteQuick"]);
|
||||
|
||||
// <[~ Plugins ~]>
|
||||
|
||||
QMenu* plugins_menu = new QMenu(QC_ApplicationWindow::tr("Pl&ugins"), menu_bar);
|
||||
plugins_menu->setObjectName("plugins_menu");
|
||||
plugins_menu->setTearOffEnabled(true);
|
||||
|
||||
// <[~ View ~]>
|
||||
|
||||
QMenu* view_menu = new QMenu(QC_ApplicationWindow::tr("&View"), menu_bar);
|
||||
view_menu->setObjectName("view_menu");
|
||||
view_menu->setTearOffEnabled(true);
|
||||
view_menu->addAction(a_map["Fullscreen"]);
|
||||
view_menu->addAction(a_map["ViewStatusBar"]);
|
||||
view_menu->addAction(a_map["ViewGrid"]);
|
||||
view_menu->addAction(a_map["ViewDraft"]);
|
||||
view_menu->addSeparator();
|
||||
view_menu->addAction(a_map["ZoomRedraw"]);
|
||||
view_menu->addAction(a_map["ZoomIn"]);
|
||||
view_menu->addAction(a_map["ZoomOut"]);
|
||||
view_menu->addAction(a_map["ZoomAuto"]);
|
||||
view_menu->addAction(a_map["ZoomPrevious"]);
|
||||
view_menu->addAction(a_map["ZoomWindow"]);
|
||||
view_menu->addAction(a_map["ZoomPan"]);
|
||||
|
||||
// <[~ Tools ~]>
|
||||
|
||||
QMenu* tools_menu = new QMenu(QC_ApplicationWindow::tr("&Tools"), menu_bar);
|
||||
tools_menu->setObjectName("tools_menu");
|
||||
tools_menu->setTearOffEnabled(true);
|
||||
|
||||
// <[~ Lines ~]>
|
||||
|
||||
sub_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Line"));
|
||||
sub_menu->setIcon(QIcon(":/icons/line.svg"));
|
||||
sub_menu->setObjectName("Line");
|
||||
sub_menu->addActions(line_actions);
|
||||
|
||||
// <[~ Circles ~]>
|
||||
|
||||
sub_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Circle"));
|
||||
sub_menu->setIcon(QIcon(":/icons/circle.svg"));
|
||||
sub_menu->setObjectName("Circle");
|
||||
sub_menu->addActions(circle_actions);
|
||||
|
||||
// <[~ Curves ~]>
|
||||
|
||||
sub_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Curve"));
|
||||
sub_menu->setIcon(QIcon(":/icons/line_freehand.svg"));
|
||||
sub_menu->setObjectName("Curve");
|
||||
sub_menu->addActions(curve_actions);
|
||||
|
||||
// <[~ Ellipses ~]>
|
||||
|
||||
sub_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Ellipse"));
|
||||
sub_menu->setIcon(QIcon(":/icons/ellipses.svg"));
|
||||
sub_menu->setObjectName("Ellipse");
|
||||
sub_menu->addActions(ellipse_actions);
|
||||
|
||||
// <[~ Polylines ~]>
|
||||
|
||||
sub_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Polyline"));
|
||||
sub_menu->setIcon(QIcon(":/icons/polylines_polyline.svg"));
|
||||
sub_menu->setObjectName("Polyline");
|
||||
sub_menu->addActions(polyline_actions);
|
||||
|
||||
// <[~ Select ~]>
|
||||
|
||||
QMenu* select_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Select"));
|
||||
select_menu->setIcon(QIcon(":/icons/select.svg"));
|
||||
select_menu->setObjectName("Select");
|
||||
select_menu->setTearOffEnabled(true);
|
||||
select_menu->addActions(select_actions);
|
||||
|
||||
// <[~ Dimension ~]>
|
||||
|
||||
QMenu* dimension_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("Dime&nsion"));
|
||||
dimension_menu->setIcon(QIcon(":/icons/dim_horizontal.svg"));
|
||||
dimension_menu->setObjectName("dimension_menu");
|
||||
dimension_menu->setTearOffEnabled(true);
|
||||
dimension_menu->addActions(dimension_actions);
|
||||
|
||||
// <[~ Order ~]>
|
||||
|
||||
QMenu* order_menu = new QMenu(QC_ApplicationWindow::tr("&Order"), menu_bar);
|
||||
order_menu->setObjectName("order_menu");
|
||||
order_menu->setTearOffEnabled(true);
|
||||
order_menu->addAction(a_map["OrderTop"]);
|
||||
order_menu->addAction(a_map["OrderBottom"]);
|
||||
order_menu->addAction(a_map["OrderRaise"]);
|
||||
order_menu->addAction(a_map["OrderLower"]);
|
||||
|
||||
// <[~ Modify ~]>
|
||||
|
||||
QMenu* modify_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Modify"));
|
||||
modify_menu->setIcon(QIcon(":/icons/move_rotate.svg"));
|
||||
modify_menu->setObjectName("Modify");
|
||||
modify_menu->setTearOffEnabled(true);
|
||||
modify_menu->addMenu(order_menu);
|
||||
modify_menu->addActions(modify_actions);
|
||||
|
||||
// <[~ Info ~]>
|
||||
|
||||
QMenu* info_menu = tools_menu->addMenu(QC_ApplicationWindow::tr("&Info"));
|
||||
info_menu->setIcon(QIcon(":/icons/measure.svg"));
|
||||
info_menu->setObjectName("Info");
|
||||
info_menu->setTearOffEnabled(true);
|
||||
info_menu->addActions(info_actions);
|
||||
|
||||
tools_menu->addAction(a_map["DrawMText"]);
|
||||
tools_menu->addAction(a_map["DrawText"]);
|
||||
tools_menu->addAction(a_map["DrawHatch"]);
|
||||
tools_menu->addAction(a_map["DrawPoint"]);
|
||||
|
||||
// <[~ Layer ~]>
|
||||
|
||||
// QMenu* layer_menu = new QMenu(QC_ApplicationWindow::tr("&Layer"), menu_bar);
|
||||
// layer_menu->setObjectName("layer_menu");
|
||||
// layer_menu->setTearOffEnabled(true);
|
||||
// layer_menu->addActions(layer_actions);
|
||||
|
||||
// <[~ Block ~]>
|
||||
|
||||
// QMenu* block_menu = new QMenu(QC_ApplicationWindow::tr("&Block"), menu_bar);
|
||||
// block_menu->setObjectName("block_menu");
|
||||
// block_menu->setTearOffEnabled(true);
|
||||
// block_menu->addActions(block_actions);
|
||||
|
||||
// <[~ Snapping ~]>
|
||||
|
||||
// QMenu* snap_menu = new QMenu(QC_ApplicationWindow::tr("Sna&p"), menu_bar);
|
||||
// snap_menu->setObjectName("snap_menu");
|
||||
// snap_menu->setTearOffEnabled(true);
|
||||
// // QToolBar* snap_tb = main_window->findChild<QToolBar*>("snap_toolbar");
|
||||
// snap_menu->addActions(snap_toolbar->actions());
|
||||
|
||||
// <[~ Drawings ~]>
|
||||
|
||||
windows_menu = new QMenu(QC_ApplicationWindow::tr("&Drawings"), menu_bar);
|
||||
windows_menu->setObjectName("drawings_menu");
|
||||
windows_menu->setTearOffEnabled(true);
|
||||
windows_menu->addAction(a_map["Fullscreen"]); // temp way to show this menu on OS X
|
||||
|
||||
connect(windows_menu, SIGNAL(aboutToShow()),
|
||||
main_window, SLOT(slotWindowsMenuAboutToShow()));
|
||||
|
||||
// <[~ Help ~]>
|
||||
|
||||
QMenu* help_menu = new QMenu(QC_ApplicationWindow::tr("&Help"), menu_bar);
|
||||
help_menu->setObjectName("Help");
|
||||
help_menu->setTearOffEnabled(true);
|
||||
|
||||
QAction* wiki_link = new QAction(QC_ApplicationWindow::tr("Online"), main_window);
|
||||
connect(wiki_link, SIGNAL(triggered()), main_window, SLOT(invokeLinkList()));
|
||||
help_menu->addAction(wiki_link);
|
||||
|
||||
help_menu->addSeparator();
|
||||
|
||||
QAction* help_about = new QAction(QIcon(":/main/librecad.png"), QC_ApplicationWindow::tr("About"), main_window);
|
||||
connect(help_about, SIGNAL(triggered()), main_window, SLOT(showAboutWindow()));
|
||||
help_menu->addAction(help_about);
|
||||
|
||||
QAction* license = new QAction(QObject::tr("License"), main_window);
|
||||
connect(license, SIGNAL(triggered()), main_window, SLOT(invokeLicenseWindow()));
|
||||
help_menu->addAction(license);
|
||||
|
||||
// <[~ Widgets Menu ~]>
|
||||
|
||||
QMenu* widgets_menu = new QMenu("Widgets", menu_bar);
|
||||
widgets_menu->setTearOffEnabled(true);
|
||||
|
||||
// <[~ Dock Areas Menu ~]>
|
||||
|
||||
QMenu* dockareas_menu = new QMenu("Dock Areas", widgets_menu);
|
||||
|
||||
dockareas_menu->addAction(a_map["LeftDockAreaToggle"]);
|
||||
dockareas_menu->addAction(a_map["RightDockAreaToggle"]);
|
||||
dockareas_menu->addAction(a_map["TopDockAreaToggle"]);
|
||||
dockareas_menu->addAction(a_map["BottomDockAreaToggle"]);
|
||||
dockareas_menu->addAction(a_map["FloatingDockwidgetsToggle"]);
|
||||
|
||||
// <[~ Dock Widgets Menu ~]>
|
||||
|
||||
QMenu* dockwidgets_menu = new QMenu(QC_ApplicationWindow::tr("Dock Wid&gets"), widgets_menu);//lihongchang
|
||||
dockwidgets_menu->setObjectName("dockwidgets_menu");
|
||||
dockwidgets_menu->setTearOffEnabled(true);
|
||||
|
||||
dockwidgets_menu->addSeparator();
|
||||
|
||||
QList<QDockWidget*> dockwidgets = main_window->findChildren<QDockWidget*>();
|
||||
|
||||
main_window->sortWidgetsByTitle(dockwidgets);
|
||||
|
||||
foreach (QDockWidget* dw, dockwidgets)
|
||||
{
|
||||
if (main_window->dockWidgetArea(dw) == Qt::RightDockWidgetArea)
|
||||
dockwidgets_menu->addAction(dw->toggleViewAction());
|
||||
}
|
||||
|
||||
dockwidgets_menu->addSeparator();
|
||||
|
||||
foreach (QDockWidget* dw, dockwidgets)
|
||||
{
|
||||
if (main_window->dockWidgetArea(dw) == Qt::LeftDockWidgetArea)
|
||||
dockwidgets_menu->addAction(dw->toggleViewAction());
|
||||
}
|
||||
// dm add
|
||||
foreach (QDockWidget* dw, dockwidgets)
|
||||
{
|
||||
if (main_window->dockWidgetArea(dw) == Qt::BottomDockWidgetArea)
|
||||
dockwidgets_menu->addAction(dw->toggleViewAction());
|
||||
}
|
||||
|
||||
// <[~ Toolbars Menu ~]>
|
||||
|
||||
QMenu* toolbars_menu = new QMenu(QC_ApplicationWindow::tr("&Toolbars"), widgets_menu);
|
||||
toolbars_menu->setObjectName("toolbars_menu");
|
||||
toolbars_menu->setTearOffEnabled(true);
|
||||
|
||||
QList<QToolBar*> toolbars = main_window->findChildren<QToolBar*>();
|
||||
|
||||
main_window->sortWidgetsByTitle(toolbars);
|
||||
|
||||
foreach (QToolBar* tb, toolbars)
|
||||
{
|
||||
toolbars_menu->addAction(tb->toggleViewAction());
|
||||
}
|
||||
//dockwidgets_menu->setEnabled(false);
|
||||
widgets_menu->addMenu(dockareas_menu);
|
||||
widgets_menu->addMenu(dockwidgets_menu);
|
||||
widgets_menu->addMenu(toolbars_menu);
|
||||
widgets_menu->addAction(a_map["InvokeMenuCreator"]);
|
||||
widgets_menu->addAction(a_map["InvokeToolbarCreator"]);
|
||||
|
||||
// <[~ MenuBar Layout~]>
|
||||
|
||||
menu_bar->addMenu(file_menu);
|
||||
menu_bar->addMenu(settings_menu);
|
||||
menu_bar->addMenu(edit_menu);
|
||||
menu_bar->addMenu(view_menu);
|
||||
menu_bar->addMenu(plugins_menu);
|
||||
// menu_bar->addMenu(select_menu);
|
||||
menu_bar->addMenu(tools_menu);
|
||||
// menu_bar->addMenu(dimension_menu);
|
||||
// menu_bar->addMenu(modify_menu);
|
||||
// menu_bar->addMenu(snap_menu);
|
||||
// menu_bar->addMenu(info_menu);
|
||||
// menu_bar->addMenu(layer_menu);
|
||||
// menu_bar->addMenu(block_menu);
|
||||
menu_bar->addMenu(widgets_menu);
|
||||
menu_bar->addMenu(windows_menu);
|
||||
menu_bar->addMenu(help_menu);
|
||||
}
|
||||
Reference in New Issue
Block a user