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 + -
显示快捷键?