qdesigner_command.cpp
来自「奇趣公司比较新的qt/emd版本」· C++ 代码 · 共 2,136 行 · 第 1/5 页
CPP
2,136 行
{}DeleteTabPageCommand::~DeleteTabPageCommand(){}void DeleteTabPageCommand::init(QTabWidget *tabWidget){ TabWidgetCommand::init(tabWidget); setText(QApplication::translate("Command", "Delete Page"));}void DeleteTabPageCommand::redo(){ removePage(); cheapUpdate();}void DeleteTabPageCommand::undo(){ addPage(); cheapUpdate();}// ---- AddTabPageCommand ----AddTabPageCommand::AddTabPageCommand(QDesignerFormWindowInterface *formWindow) : TabWidgetCommand(formWindow){}AddTabPageCommand::~AddTabPageCommand(){}void AddTabPageCommand::init(QTabWidget *tabWidget){ init(tabWidget, InsertBefore);}void AddTabPageCommand::init(QTabWidget *tabWidget, InsertionMode mode){ m_tabWidget = tabWidget; m_index = m_tabWidget->currentIndex(); if (mode == InsertAfter) m_index++; m_widget = new QDesignerWidget(formWindow(), m_tabWidget); m_itemText = QApplication::translate("Command", "Page"); m_itemIcon = QIcon(); m_widget->setObjectName(QApplication::translate("Command", "tab")); formWindow()->ensureUniqueObjectName(m_widget); setText(QApplication::translate("Command", "Insert Page")); QDesignerFormEditorInterface *core = formWindow()->core(); core->metaDataBase()->add(m_widget);}void AddTabPageCommand::redo(){ addPage(); cheapUpdate();}void AddTabPageCommand::undo(){ removePage(); cheapUpdate();}// ---- MoveTabPageCommand ----MoveTabPageCommand::MoveTabPageCommand(QDesignerFormWindowInterface *formWindow) : TabWidgetCommand(formWindow){}MoveTabPageCommand::~MoveTabPageCommand(){}void MoveTabPageCommand::init(QTabWidget *tabWidget, QWidget *page, const QIcon &icon, const QString &label, int index, int newIndex){ TabWidgetCommand::init(tabWidget); setText(QApplication::translate("Command", "Move Page")); m_page = page; m_newIndex = newIndex; m_oldIndex = index; m_label = label; m_icon = icon;}void MoveTabPageCommand::redo(){ m_tabWidget->removeTab(m_oldIndex); m_tabWidget->insertTab(m_newIndex, m_page, m_icon, m_label); m_tabWidget->setCurrentIndex(m_newIndex);}void MoveTabPageCommand::undo(){ m_tabWidget->removeTab(m_newIndex); m_tabWidget->insertTab(m_oldIndex, m_page, m_icon, m_label); m_tabWidget->setCurrentIndex(m_oldIndex);}// ---- StackedWidgetCommand ----StackedWidgetCommand::StackedWidgetCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QString(), formWindow){}StackedWidgetCommand::~StackedWidgetCommand(){}void StackedWidgetCommand::init(QStackedWidget *stackedWidget){ m_stackedWidget = stackedWidget; m_index = m_stackedWidget->currentIndex(); m_widget = m_stackedWidget->widget(m_index);}void StackedWidgetCommand::removePage(){ m_stackedWidget->removeWidget(m_stackedWidget->widget(m_index)); m_widget->hide(); m_widget->setParent(formWindow());}void StackedWidgetCommand::addPage(){ m_stackedWidget->insertWidget(m_index, m_widget); m_widget->show(); m_stackedWidget->setCurrentIndex(m_index);}// ---- MoveStackedWidgetCommand ----MoveStackedWidgetCommand::MoveStackedWidgetCommand(QDesignerFormWindowInterface *formWindow) : StackedWidgetCommand(formWindow){}MoveStackedWidgetCommand::~MoveStackedWidgetCommand(){}void MoveStackedWidgetCommand::init(QStackedWidget *stackedWidget, QWidget *page, int newIndex){ StackedWidgetCommand::init(stackedWidget); setText(QApplication::translate("Command", "Move Page")); m_widget = page; m_newIndex = newIndex; m_oldIndex = m_stackedWidget->indexOf(m_widget);}void MoveStackedWidgetCommand::redo(){ m_stackedWidget->removeWidget(m_widget); m_stackedWidget->insertWidget(m_newIndex, m_widget);}void MoveStackedWidgetCommand::undo(){ m_stackedWidget->removeWidget(m_widget); m_stackedWidget->insertWidget(m_oldIndex, m_widget);}// ---- DeleteStackedWidgetPageCommand ----DeleteStackedWidgetPageCommand::DeleteStackedWidgetPageCommand(QDesignerFormWindowInterface *formWindow) : StackedWidgetCommand(formWindow){}DeleteStackedWidgetPageCommand::~DeleteStackedWidgetPageCommand(){}void DeleteStackedWidgetPageCommand::init(QStackedWidget *stackedWidget){ StackedWidgetCommand::init(stackedWidget); setText(QApplication::translate("Command", "Delete Page"));}void DeleteStackedWidgetPageCommand::redo(){ removePage(); cheapUpdate();}void DeleteStackedWidgetPageCommand::undo(){ addPage(); cheapUpdate();}// ---- AddStackedWidgetPageCommand ----AddStackedWidgetPageCommand::AddStackedWidgetPageCommand(QDesignerFormWindowInterface *formWindow) : StackedWidgetCommand(formWindow){}AddStackedWidgetPageCommand::~AddStackedWidgetPageCommand(){}void AddStackedWidgetPageCommand::init(QStackedWidget *stackedWidget){ init(stackedWidget, InsertBefore);}void AddStackedWidgetPageCommand::init(QStackedWidget *stackedWidget, InsertionMode mode){ m_stackedWidget = stackedWidget; m_index = m_stackedWidget->currentIndex(); if (mode == InsertAfter) m_index++; m_widget = new QDesignerWidget(formWindow(), m_stackedWidget); m_widget->setObjectName(QApplication::translate("Command", "page")); formWindow()->ensureUniqueObjectName(m_widget); setText(QApplication::translate("Command", "Insert Page")); QDesignerFormEditorInterface *core = formWindow()->core(); core->metaDataBase()->add(m_widget);}void AddStackedWidgetPageCommand::redo(){ addPage(); cheapUpdate();}void AddStackedWidgetPageCommand::undo(){ removePage(); cheapUpdate();}// ---- TabOrderCommand ----TabOrderCommand::TabOrderCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QApplication::translate("Command", "Change Tab order"), formWindow), m_widgetItem(0){}void TabOrderCommand::init(const QList<QWidget*> &newTabOrder){ QDesignerFormEditorInterface *core = formWindow()->core(); Q_ASSERT(core); m_widgetItem = core->metaDataBase()->item(formWindow()); Q_ASSERT(m_widgetItem); m_oldTabOrder = m_widgetItem->tabOrder(); m_newTabOrder = newTabOrder;}void TabOrderCommand::redo(){ m_widgetItem->setTabOrder(m_newTabOrder);}void TabOrderCommand::undo(){ m_widgetItem->setTabOrder(m_oldTabOrder);}// ---- CreateMenuBarCommand ----CreateMenuBarCommand::CreateMenuBarCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QApplication::translate("Command", "Create Menu Bar"), formWindow){}void CreateMenuBarCommand::init(QMainWindow *mainWindow){ m_mainWindow = mainWindow; QDesignerFormEditorInterface *core = formWindow()->core(); m_menuBar = qobject_cast<QMenuBar*>(core->widgetFactory()->createWidget(QLatin1String("QMenuBar"), m_mainWindow)); core->widgetFactory()->initialize(m_menuBar);}void CreateMenuBarCommand::redo(){ QDesignerFormEditorInterface *core = formWindow()->core(); QDesignerContainerExtension *c; c = qt_extension<QDesignerContainerExtension*>(core->extensionManager(), m_mainWindow); c->addWidget(m_menuBar); m_menuBar->setObjectName(QLatin1String("menuBar")); formWindow()->ensureUniqueObjectName(m_menuBar); core->metaDataBase()->add(m_menuBar); formWindow()->emitSelectionChanged(); m_menuBar->setFocus();}void CreateMenuBarCommand::undo(){ QDesignerFormEditorInterface *core = formWindow()->core(); QDesignerContainerExtension *c; c = qt_extension<QDesignerContainerExtension*>(core->extensionManager(), m_mainWindow); for (int i = 0; i < c->count(); ++i) { if (c->widget(i) == m_menuBar) { c->remove(i); break; } } core->metaDataBase()->remove(m_menuBar); formWindow()->emitSelectionChanged();}// ---- DeleteMenuBarCommand ----DeleteMenuBarCommand::DeleteMenuBarCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QApplication::translate("Command", "Delete Menu Bar"), formWindow){}void DeleteMenuBarCommand::init(QMenuBar *menuBar){ m_menuBar = menuBar; m_mainWindow = qobject_cast<QMainWindow*>(menuBar->parentWidget());}void DeleteMenuBarCommand::redo(){ if (m_mainWindow) { QDesignerContainerExtension *c; c = qt_extension<QDesignerContainerExtension*>(core()->extensionManager(), m_mainWindow); Q_ASSERT(c != 0); for (int i=0; i<c->count(); ++i) { if (c->widget(i) == m_menuBar) { c->remove(i); break; } } } core()->metaDataBase()->remove(m_menuBar); m_menuBar->hide(); m_menuBar->setParent(formWindow()); formWindow()->emitSelectionChanged();}void DeleteMenuBarCommand::undo(){ if (m_mainWindow) { m_menuBar->setParent(m_mainWindow); QDesignerContainerExtension *c; c = qt_extension<QDesignerContainerExtension*>(core()->extensionManager(), m_mainWindow); c->addWidget(m_menuBar); core()->metaDataBase()->add(m_menuBar); m_menuBar->show(); formWindow()->emitSelectionChanged(); }}// ---- CreateStatusBarCommand ----CreateStatusBarCommand::CreateStatusBarCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QApplication::translate("Command", "Create Status Bar"), formWindow){}void CreateStatusBarCommand::init(QMainWindow *mainWindow){ m_mainWindow = mainWindow; QDesignerFormEditorInterface *core = formWindow()->core(); m_statusBar = qobject_cast<QStatusBar*>(core->widgetFactory()->createWidget(QLatin1String("QStatusBar"), m_mainWindow)); core->widgetFactory()->initialize(m_statusBar);}void CreateStatusBarCommand::redo(){ QDesignerFormEditorInterface *core = formWindow()->core(); QDesignerContainerExtension *c; c = qt_extension<QDesignerContainerExtension*>(core->extensionManager(), m_mainWindow); c->addWidget(m_statusBar); m_statusBar->setObjectName(QLatin1String("statusBar")); formWindow()->ensureUniqueObjectName(m_statusBar); core->metaDataBase()->add(m_statusBar); formWindow()->emitSelectionChanged();}void CreateStatusBarCommand::undo(){ QDesignerFormEditorInterface *core = formWindow()->core(); QDesignerContainerExtension *c = qt_extension<QDesignerContainerExtension*>(core->extensionManager(), m_mainWindow); for (int i = 0; i < c->count(); ++i) { if (c->widget(i) == m_statusBar) { c->remove(i); break; } } core->metaDataBase()->remove(m_statusBar); formWindow()->emitSelectionChanged();}// ---- DeleteStatusBarCommand ----DeleteStatusBarCommand::DeleteStatusBarCommand(QDesignerFormWindowInterface *formWindow) : QDesignerFormWindowCommand(QApplication::translate("Command", "Delete Status Bar"), formWindow){}void DeleteStatusBarCommand::init(QStatusBar *statusBar){ m_statusBar = statusBar; m_mainWindow = qobject_cast<QMainWindow*>(statusBar->parentWidget());}void DeleteStatusBarCommand::redo(){ if (m_mainWindow) { QDesignerContainerExtension *c = qt_extension<QDesignerContainerExtension*>(core()->extensionManager(), m_mainWindow); Q_ASSERT(c != 0); for (int i=0; i<c->count(); ++i) { if (c->widget(i) == m_statusBar) { c->remove(i); break;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?