39 #include "LayoutConfig.h"
42 #include <QMainWindow>
48 m_dockParent(dockParent),
49 m_parentMenu(mnuLayout),
54 m_optionNew(
"mnu_main_new"),
55 m_optionUpdate(
"mnu_main_update"),
56 m_optionImport(
"mnu_main_import"),
57 m_optionExport(
"mnu_main_export"),
58 m_optionPageConfig(
"mnu_main_page_config"),
59 m_optionPrint(
"mnu_main_print"),
60 m_optionExit(
"mnu_main_exit")
67 QMainWindow* win = (QMainWindow*)m_dockParent;
74 win->removeDockWidget(m_dockProperties);
75 m_dockProperties->close();
76 m_dockProperties->setParent(0);
77 delete m_dockProperties;
83 win->removeDockWidget(m_dockInspector);
84 m_dockInspector->close();
85 m_dockInspector->setParent(0);
86 delete m_dockInspector;
92 win->removeDockWidget(m_dockToolbar);
93 m_dockToolbar->close();
94 m_dockToolbar->setParent(0);
102 createPropertiesDock();
104 createInspectorDock();
140 m_mainMenu =
new QMenu(
"Print Model");
141 connect(m_mainMenu, SIGNAL(triggered(QAction*)),
this, SLOT(onMainMenuTriggered(QAction*)));
143 QAction* actionNew = createAction(
"New", m_optionNew,
"layout-new");
144 m_mainMenu->addAction(actionNew);
146 QAction* actionSave = createAction(
"Update Template", m_optionUpdate,
"layout-save");
147 m_mainMenu->addAction(actionSave);
149 m_mainMenu->addSeparator();
151 QAction* actionImport = createAction(
"Import Template", m_optionImport,
"layout-import");
152 m_mainMenu->addAction(actionImport);
154 QAction* actionExport = createAction(
"Export Template", m_optionExport,
"layout-export");
155 m_mainMenu->addAction(actionExport);
157 m_mainMenu->addSeparator();
159 QAction* actionPageConfig = createAction(
"Page Config...", m_optionPageConfig,
"layout-page-setup");
160 m_mainMenu->addAction(actionPageConfig);
162 QAction* actionPrint = createAction(
"Print...", m_optionPrint,
"layout-printer");
163 m_mainMenu->addAction(actionPrint);
165 m_mainMenu->addSeparator();
167 QAction* actionExit = createAction(
"Exit", m_optionExit,
"close");
168 m_mainMenu->addAction(actionExit);
173 if(action->objectName().compare(m_optionNew.c_str()) == 0)
177 else if(action->objectName().compare(m_optionUpdate.c_str()) == 0)
181 else if(action->objectName().compare(m_optionImport.c_str()) == 0)
185 else if(action->objectName().compare(m_optionExport.c_str()) == 0)
189 else if(action->objectName().compare(m_optionPageConfig.c_str()) == 0)
193 else if(action->objectName().compare(m_optionPrint.c_str()) == 0)
197 else if(action->objectName().compare(m_optionExit.c_str()) == 0)
205 QAction *actionMenu =
new QAction(text.c_str(),
this);
206 actionMenu->setObjectName(objName.c_str());
208 std::string icon_path = LAYOUT_IMAGES_PNG
"/" + icon;
209 actionMenu->setIcon(QIcon::fromTheme(icon_path.c_str()));
210 actionMenu->setToolTip(tooltip.c_str());
220 if(mode != layoutMode)
229 emit changeMenuContext(result);
234 return m_dockProperties;
239 return m_dockInspector;
244 return m_dockToolbar;
249 QMainWindow* win = (QMainWindow*)m_dockParent;
256 m_dockProperties->setParent(m_dockParent);
257 win->addDockWidget(Qt::LeftDockWidgetArea, m_dockProperties);
258 m_dockProperties->setVisible(
true);
262 m_dockInspector->setParent(m_dockParent);
263 win->addDockWidget(Qt::LeftDockWidgetArea, m_dockInspector);
264 m_dockInspector->setVisible(
true);
268 m_dockToolbar->setParent(m_dockParent);
269 win->addDockWidget(Qt::TopDockWidgetArea, m_dockToolbar);
270 m_dockToolbar->setVisible(
true);
276 QMainWindow* win = (QMainWindow*)m_dockParent;
283 win->removeDockWidget(m_dockProperties);
284 m_dockProperties->close();
288 win->removeDockWidget(m_dockInspector);
289 m_dockInspector->close();
293 win->removeDockWidget(m_dockToolbar);
294 m_dockToolbar->close();
306 bool exist_menu =
false;
307 QAction* action = m_mainMenu->menuAction();
308 QList<QAction*> acts = m_parentMenu->actions();
311 foreach(QAction* act, acts)
322 m_parentMenu->addSeparator();
323 m_parentMenu->addMenu(m_mainMenu);
335 QAction* action = m_mainMenu->menuAction();
336 QList<QAction*> acts = m_parentMenu->actions();
339 foreach(QAction* act, acts)
343 m_parentMenu->removeAction(action);
virtual void changeAction(LayoutMode mode)
virtual void createInspectorDock()
virtual void openMainMenu()
void setMode(LayoutMode mode)
virtual void openAllDocks()
ObjectInspectorOutside * getObjectInspectorOutside()
virtual QAction * createAction(std::string text, std::string objName, std::string icon, std::string tooltip="")
LayoutMode
Enum LayoutMode. This is the enumeration of the components types.
ToolbarOutside * getToolbarOutside()
virtual void closeMainMenu()
virtual void createToolbarDock()
const Observer * getView()
virtual void createPropertiesDock()
virtual void onMainMenuTriggered(QAction *action)
OutsideArea(QWidget *dockParent=0, QMenu *mnuLayout=0)
virtual void closeAllDocks()
static Context * getInstance()
This function is called to create an instance of the class.
PropertiesOutside * getPropertiesOutside()
virtual void createMainMenu()