⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qdesigner_command.cpp

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 CPP
📖 第 1 页 / 共 5 页
字号:
        lb->show();    }    checkSelection(m_parentWidget);}// ---- BreakLayoutCommand ----BreakLayoutCommand::BreakLayoutCommand(QDesignerFormWindowInterface *formWindow)    : QDesignerFormWindowCommand(tr("Break layout"), formWindow){}BreakLayoutCommand::~BreakLayoutCommand(){}void BreakLayoutCommand::init(const QList<QWidget*> &widgets, QWidget *layoutBase){    QDesignerFormEditorInterface *core = formWindow()->core();    m_widgets = widgets;    m_layoutBase = core->widgetFactory()->containerOfWidget(layoutBase);    m_layout = 0;    QPoint grid = formWindow()->grid();    LayoutInfo::Type lay = LayoutInfo::layoutType(core, m_layoutBase);    if (lay == LayoutInfo::HBox)        m_layout = new HorizontalLayout(widgets, m_layoutBase, formWindow(), m_layoutBase, qobject_cast<QSplitter*>(m_layoutBase) != 0);    else if (lay == LayoutInfo::VBox)        m_layout = new VerticalLayout(widgets, m_layoutBase, formWindow(), m_layoutBase, qobject_cast<QSplitter*>(m_layoutBase) != 0);    else if (lay == LayoutInfo::Grid)        m_layout = new GridLayout(widgets, m_layoutBase, formWindow(), m_layoutBase, QSize(qMax(5, grid.x()), qMax(5, grid.y())));    // ### StackedLayout    Q_ASSERT(m_layout != 0);    m_layout->sort();    m_margin = m_layout->margin();    m_spacing = m_layout->spacing();}void BreakLayoutCommand::redo(){    if (!m_layout)        return;    QDesignerFormEditorInterface *core = formWindow()->core();    QWidget *lb = m_layout->layoutBaseWidget();    QDesignerLayoutDecorationExtension *deco = qt_extension<QDesignerLayoutDecorationExtension*>(core->extensionManager(), lb);    QWidget *p = m_layout->parentWidget();    if (!deco && hasLayout(p))        deco = qt_extension<QDesignerLayoutDecorationExtension*>(core->extensionManager(), p);    formWindow()->clearSelection(false);    m_layout->breakLayout();    delete deco; // release the extension    foreach (QWidget *widget, m_widgets) {        widget->resize(widget->size().expandedTo(QSize(16, 16)));    }}void BreakLayoutCommand::undo(){    if (!m_layout)        return;    formWindow()->clearSelection(false);    m_layout->doLayout();    if (m_layoutBase && m_layoutBase->layout()) {        m_layoutBase->layout()->setSpacing(m_spacing);        m_layoutBase->layout()->setMargin(m_margin);    }}// ---- ToolBoxCommand ----ToolBoxCommand::ToolBoxCommand(QDesignerFormWindowInterface *formWindow)    : QDesignerFormWindowCommand(QString(), formWindow){}ToolBoxCommand::~ToolBoxCommand(){}void ToolBoxCommand::init(QToolBox *toolBox){    m_toolBox = toolBox;    m_index = m_toolBox->currentIndex();    m_widget = m_toolBox->widget(m_index);    m_itemText = m_toolBox->itemText(m_index);    m_itemIcon = m_toolBox->itemIcon(m_index);}void ToolBoxCommand::removePage(){    m_toolBox->removeItem(m_index);    m_widget->hide();    m_widget->setParent(formWindow());}void ToolBoxCommand::addPage(){    m_widget->setParent(m_toolBox);    m_toolBox->insertItem(m_index, m_widget, m_itemIcon, m_itemText);    m_toolBox->setCurrentIndex(m_index);    m_widget->show();}// ---- MoveToolBoxPageCommand ----MoveToolBoxPageCommand::MoveToolBoxPageCommand(QDesignerFormWindowInterface *formWindow)    : ToolBoxCommand(formWindow){}MoveToolBoxPageCommand::~MoveToolBoxPageCommand(){}void MoveToolBoxPageCommand::init(QToolBox *toolBox, QWidget *page, int newIndex){    ToolBoxCommand::init(toolBox);    setDescription(tr("Move Page"));    m_widget = page;    m_oldIndex = m_toolBox->indexOf(m_widget);    m_itemText = m_toolBox->itemText(m_oldIndex);    m_itemIcon = m_toolBox->itemIcon(m_oldIndex);    m_newIndex = newIndex;}void MoveToolBoxPageCommand::redo(){    m_toolBox->removeItem(m_oldIndex);    m_toolBox->insertItem(m_newIndex, m_widget, m_itemIcon, m_itemText);}void MoveToolBoxPageCommand::undo(){    m_toolBox->removeItem(m_newIndex);    m_toolBox->insertItem(m_oldIndex, m_widget, m_itemIcon, m_itemText);}// ---- DeleteToolBoxPageCommand ----DeleteToolBoxPageCommand::DeleteToolBoxPageCommand(QDesignerFormWindowInterface *formWindow)    : ToolBoxCommand(formWindow){}DeleteToolBoxPageCommand::~DeleteToolBoxPageCommand(){}void DeleteToolBoxPageCommand::init(QToolBox *toolBox){    ToolBoxCommand::init(toolBox);    setDescription(tr("Delete Page"));}void DeleteToolBoxPageCommand::redo(){    removePage();    cheapUpdate();}void DeleteToolBoxPageCommand::undo(){    addPage();    cheapUpdate();}// ---- AddToolBoxPageCommand ----AddToolBoxPageCommand::AddToolBoxPageCommand(QDesignerFormWindowInterface *formWindow)    : ToolBoxCommand(formWindow){}AddToolBoxPageCommand::~AddToolBoxPageCommand(){}void AddToolBoxPageCommand::init(QToolBox *toolBox){    init(toolBox, InsertBefore);}void AddToolBoxPageCommand::init(QToolBox *toolBox, InsertionMode mode){    m_toolBox = toolBox;    m_index = m_toolBox->currentIndex();    if (mode == InsertAfter)        m_index++;    m_widget = new QDesignerWidget(formWindow(), m_toolBox);    m_itemText = tr("Page");    m_itemIcon = QIcon();    m_widget->setObjectName(tr("page"));    formWindow()->ensureUniqueObjectName(m_widget);    setDescription(tr("Insert Page"));    QDesignerFormEditorInterface *core = formWindow()->core();    core->metaDataBase()->add(m_widget);}void AddToolBoxPageCommand::redo(){    addPage();    cheapUpdate();}void AddToolBoxPageCommand::undo(){    removePage();    cheapUpdate();}// ---- TabWidgetCommand ----TabWidgetCommand::TabWidgetCommand(QDesignerFormWindowInterface *formWindow)    : QDesignerFormWindowCommand(QString(), formWindow){}TabWidgetCommand::~TabWidgetCommand(){}void TabWidgetCommand::init(QTabWidget *tabWidget){    m_tabWidget = tabWidget;    m_index = m_tabWidget->currentIndex();    m_widget = m_tabWidget->widget(m_index);    m_itemText = m_tabWidget->tabText(m_index);    m_itemIcon = m_tabWidget->tabIcon(m_index);}void TabWidgetCommand::removePage(){    m_tabWidget->removeTab(m_index);    m_widget->hide();    m_widget->setParent(formWindow());    m_tabWidget->setCurrentIndex(qMin(m_index, m_tabWidget->count()));}void TabWidgetCommand::addPage(){    m_widget->setParent(0);    m_tabWidget->insertTab(m_index, m_widget, m_itemIcon, m_itemText);    m_widget->show();    m_tabWidget->setCurrentIndex(m_index);}// ---- DeleteTabPageCommand ----DeleteTabPageCommand::DeleteTabPageCommand(QDesignerFormWindowInterface *formWindow)    : TabWidgetCommand(formWindow){}DeleteTabPageCommand::~DeleteTabPageCommand(){}void DeleteTabPageCommand::init(QTabWidget *tabWidget){    TabWidgetCommand::init(tabWidget);    setDescription(tr("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 = tr("Page");    m_itemIcon = QIcon();    m_widget->setObjectName(tr("tab"));    formWindow()->ensureUniqueObjectName(m_widget);    setDescription(tr("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);    setDescription(tr("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);    setDescription(tr("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);    setDescription(tr("Delete Page"));}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -