Spec-Zone.ru › Qt 5.11

Класс QUndoGroup

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

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

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

QUndoGroup(QObject *parent = nullptr)
virtual ~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
  • 34 открытых функций, унаследованных от 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
  • 1 открытая переменная, унаследованная от QObject
  • 10 статических открытых членов, унаследованных от QObject
  • 9 защищенных функций, унаследованных от QObject
  • 2 защищенных переменных, унаследованных от 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 = nullptr)

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

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

[virtual] 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(). В этом случае стек удаляется при удалении группы обычным для QObjects способом.

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

bool QUndoGroup::canRedo() const

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

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

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

END_OF_DOCUMENT_MARKER

[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/archives/qt-5.11/qundogroup.html

Spec-Zone.ru

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