Spec-Zone.ru › Qt 5.9

Класс QUndoGroup

Класс QUndoGroup представляет собой группу объектов QUndoStack. Подробнее...

Заголовок: #include <QUndoGroup>
qmake: QT += widgets
С момента: Qt 4.2
Наследует: QObject
  • Список всех членов, включая унаследованные

Открытые функции

QUndoGroup(QObject *parent = Q_NULLPTR)
~QUndoGroup()
QUndoStack * activeStack() const
void addStack(QUndoStack *stack)
bool canRedo() const
bool canUndo() const
QAction * createRedoAction(QObject *parent, const QString &prefix = QString()) const
QAction * createUndoAction(QObject *parent, const QString &prefix = QString()) const
bool isClean() const
QString redoText() const
void removeStack(QUndoStack *stack)
QList<QUndoStack *> stacks() const
QString undoText() const
  • 32 открытых функции унаследованы от QObject

Открытые слоты

void redo()
void setActiveStack(QUndoStack *stack)
void undo()
  • 1 открытый слот унаследован от QObject

Сигналы

void activeStackChanged(QUndoStack *stack)
void canRedoChanged(bool canRedo)
void canUndoChanged(bool canUndo)
void cleanChanged(bool clean)
void indexChanged(int idx)
void redoTextChanged(const QString &redoText)
void undoTextChanged(const QString &undoText)
  • 2 сигнала унаследованы от QObject

Дополнительные унаследованные члены

  • 1 свойство унаследовано от QObject
  • 11 статических открытых членов унаследованы от QObject
  • 9 защищенных функций унаследованы от QObject

Подробное описание

Класс QUndoGroup представляет собой группу объектов QUndoStack.

Для обзора механизма отмены/повторного выполнения Qt, см. обзор.

Приложение часто имеет несколько стеков отмены/повторного выполнения, по одному на каждый открытый документ. В то же время приложение обычно имеет один действие отмены и одно действие повторного выполнения, которые запускают отмену или повторное выполнение в активном документе.

QUndoGroup — это группа объектов QUndoStack, один из которых может быть активным. Он имеет слоты undo() и redo(), которые вызывают QUndoStack::undo() и QUndoStack::redo() для активного стека. Также он имеет функции createUndoAction() и createRedoAction(). Действия, возвращаемые этими функциями, ведут себя так же, как те, которые возвращаются QUndoStack::createUndoAction() и QUndoStack::createRedoAction() активного стека.

Стек добавляется в группу с помощью addStack() и удаляется с помощью removeStack(). Стек неявно добавляется в группу, когда он создается с группой как его родительским объектом QObject.

Программа должна указать, какой стек является активным, вызвав QUndoStack::setActive(), обычно когда окно соответствующего документа получает фокус. Активный стек также может быть задан с помощью setActiveStack(), и он возвращается функцией activeStack().

Когда стек добавляется в группу с помощью addStack(), группа не получает владения стеком. Это означает, что стек необходимо удалить отдельно от группы. Когда стек удаляется, он автоматически удаляется из группы. Стек может принадлежать только одной группе. Добавление его в другую группу приведет к удалению из предыдущей группы.

QUndoGroup также полезен в сочетании с QUndoView. Если QUndoView настроен для наблюдения за группой с помощью QUndoView::setGroup(), он будет обновлять себя, чтобы отобразить активный стек.

Документация по функциям-членам

QUndoGroup::QUndoGroup(QObject *parent = Q_NULLPTR)

Создает пустой объект QUndoGroup с родителем parent.

См. также addStack().

QUndoGroup::~QUndoGroup()

Удаляет QUndoGroup.

QUndoStack *QUndoGroup::activeStack() const

Возвращает активный стек этой группы.

Если ни один из стеков не является активным или если группа пуста, эта функция возвращает 0.

См. также setActiveStack() и QUndoStack::setActive().

[signal] void QUndoGroup::activeStackChanged(QUndoStack *stack)

Этот сигнал генерируется всякий раз, когда активный стек группы изменяется. Это может произойти при вызове setActiveStack() или QUndoStack::setActive(), или когда активный стек удаляется из группы. stack — новый активный стек. Если активного стека нет, stack равен 0.

См. также setActiveStack() и QUndoStack::setActive().

void QUndoGroup::addStack(QUndoStack *stack)

Добавляет stack в эту группу. Группа не получает владения стеком. Другой способ добавления стека в группу — указание группы в качестве родительского объекта QObject стека в QUndoStack::QUndoStack(). В этом случае стек удаляется при удалении группы обычным способом для объектов QObject.

См. также removeStack(), stacks(), и QUndoStack::QUndoStack().

bool QUndoGroup::canRedo() const

Возвращает значение QUndoStack::canRedo() активного стека.

Если ни один из стеков не является активным или если группа пуста, эта функция возвращает false.

См. также canUndo() и setActiveStack().

[signal] void QUndoGroup::canRedoChanged(bool canRedo)

Этот сигнал генерируется всякий раз, когда активный стек генерирует QUndoStack::canRedoChanged() или когда активный стек изменяется.

canRedo — новое состояние, или false, если активная стопка равна 0.

См. также QUndoStack::canRedoChanged() и setActiveStack().

bool QUndoGroup::canUndo() const

Возвращает значение QUndoStack::canUndo() активной стопки.

Если ни одна из стопок не активна или группа пуста, эта функция возвращает false.

См. также canRedo() и setActiveStack().

[signal] void QUndoGroup::canUndoChanged(bool canUndo)

Этот сигнал испускается всякий раз, когда активная стопка испускает QUndoStack::canUndoChanged() или активная стопка меняется.

canUndo — новое состояние, или false, если активная стопка равна 0.

См. также QUndoStack::canUndoChanged() и setActiveStack().

[signal] void QUndoGroup::cleanChanged(bool clean)

Этот сигнал испускается всякий раз, когда активная стопка испускает QUndoStack::cleanChanged() или активная стопка меняется.

clean — новое состояние, или true, если активная стопка равна 0.

См. также QUndoStack::cleanChanged() и setActiveStack().

QAction *QUndoGroup::createRedoAction(QObject *parent, const QString &prefix = QString()) const

Создает объект QAction для отмены с родителем parent.

Вызов этого действия вызовет QUndoStack::redo() на активной стопке. Текст этого действия всегда будет текстом команды, которая будет отменена в следующем вызове redo(), с префиксом prefix. Если команда недоступна для отмены, если группа пуста или ни одна из стопок не активна, это действие будет отключено.

Если prefix пустое, используется шаблон по умолчанию «Отменить %1» вместо префикса. До Qt 4.8 по умолчанию использовался префикс «Отменить».

См. также createUndoAction(), canRedo() и QUndoCommand::text().

QAction *QUndoGroup::createUndoAction(QObject *parent, const QString &prefix = QString()) const

Создает объект QAction для выполнения с родителем parent.

Вызов этого действия вызовет QUndoStack::undo() на активной стопке. Текст этого действия всегда будет текстом команды, которая будет выполнена в следующем вызове undo(), с префиксом prefix. Если команда недоступна для выполнения, если группа пуста или ни одна из стопок не активна, это действие будет отключено.

Если prefix пустое, используется шаблон по умолчанию «Выполнить %1» вместо префикса. До Qt 4.8 по умолчанию использовался префикс «Выполнить».

См. также createRedoAction(), canUndo() и QUndoCommand::text().

[signal] void QUndoGroup::indexChanged(int idx)

Этот сигнал испускается всякий раз, когда активная стопка испускает QUndoStack::indexChanged() или активная стопка меняется.

idx — новый текущий индекс или 0, если активная стопка равна 0.

См. также QUndoStack::indexChanged() и setActiveStack().

bool QUndoGroup::isClean() const

Возвращает значение QUndoStack::isClean() активной стопки.

Если ни одна из стопок не активна или группа пуста, эта функция возвращает true.

См. также setActiveStack().

[slot] void QUndoGroup::redo()

Вызывает QUndoStack::redo() на активной стопке.

Если ни одна из стопок не активна или группа пуста, эта функция ничего не делает.

См. также undo(), canRedo() и setActiveStack().

QString QUndoGroup::redoText() const

Возвращает значение QUndoStack::redoText() активной стопки.

Если ни одна из стопок не активна или группа пуста, эта функция возвращает пустую строку.

См. также undoText() и setActiveStack().

[signal] void QUndoGroup::redoTextChanged(const QString &redoText)

Этот сигнал испускается всякий раз, когда активная стопка испускает QUndoStack::redoTextChanged() или активная стопка меняется.

redoText — новое состояние, или пустая строка, если активная стопка равна 0.

См. также QUndoStack::redoTextChanged() и setActiveStack().

void QUndoGroup::removeStack(QUndoStack *stack)

Удаляет stack из этой группы. Если стопка была активной стопкой в группе, активной стопкой становится 0.

См. также addStack(), stacks() и QUndoStack::~QUndoStack().

[slot] void QUndoGroup::setActiveStack(QUndoStack *stack)

Устанавливает активную стопку этой группы в stack.

Если стопка не является членом этой группы, эта функция ничего не делает.

Синонимично вызову QUndoStack::setActive() для stack.

Действия, возвращаемые createUndoAction() и createRedoAction(), теперь будут вести себя так же, как действия, возвращаемые QUndoStack::createUndoAction() и QUndoStack::createRedoAction() stack.

См. также QUndoStack::setActive() и activeStack().

QList<QUndoStack *> QUndoGroup::stacks() const

Возвращает список стеков в этой группе.

См. также addStack() и removeStack().

[slot] void QUndoGroup::undo()

Вызывает QUndoStack::undo() на активной стопке.

Если ни одна из стопок не активна или группа пуста, эта функция ничего не делает.

См. также redo(), canUndo() и setActiveStack().

QString QUndoGroup::undoText() const

Возвращает значение QUndoStack::undoText() активной стопки.

Если ни одна из стопок не активна или группа пуста, эта функция возвращает пустую строку.

См. также redoText() и setActiveStack().

[signal] void QUndoGroup::undoTextChanged(const QString &undoText)

Этот сигнал испускается всякий раз, когда активная стопка испускает QUndoStack::undoTextChanged() или активная стопка меняется.

undoText — новое состояние, или пустая строка, если активная стопка равна 0.

См. также QUndoStack::undoTextChanged() и setActiveStack().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qundogroup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API