QUndoGroup Class
QUndoGroupクラスは、QUndoStack オブジェクトのグループです。詳細...
ヘッダー | #include <QUndoGroup> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
継承: | 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 |
パブリックスロット
void | redo() |
void | setActiveStack(QUndoStack *stack) |
void | undo() |
シグナル
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) |
詳細説明
Qt の undo フレームワークの概要については、概要を参照してください。
アプリケーションは多くの場合、複数のアンドゥスタックを持ちます。同時に、アプリケーションには通常1つのアンドゥアクションと1つのリドゥアクションがあり、アクティブなドキュメントのアンドゥやリドゥをトリガーします。
QUndoGroupはQUndoStack オブジェクトのグループで、そのうちの1つがアクティブである可能性があります。これはundo() とredo() スロットを持ち、アクティブなスタックに対してQUndoStack::undo() とQUndoStack::redo() を呼び出します。また、createUndoAction ()とcreateRedoAction ()という関数もある。これらの関数が返すアクションは、アクティブ・スタックのQUndoStack::createUndoAction() とQUndoStack::createRedoAction() が返すアクションと同じように動作する。
スタックは、addStack ()でグループに追加され、removeStack ()で削除される。スタックは、そのグループを親として作成されたとき、暗黙的にグループに追加されるQObject 。
どのスタックをアクティブにするかは、QUndoStack::setActive() を呼び出すプログラマーの責任である。アクティブなスタックはsetActiveStack() で設定することもでき、activeStack() で返される。
スタックがaddStack() を使用してグループに追加されると、グループはスタックの所有権を取りません。つまり、スタックはグループとは別に削除しなければならない。スタックが削除されると、自動的にグループから削除されます。スタックは1つのグループにしか所属できません。別のグループに追加すると、前のグループから削除されます。
QUndoGroup はQUndoView と組み合わせても便利です。QUndoView がQUndoView::setGroup() を使ってグループを監視するように設定されると、アクティブなスタックを表示するように更新されます。
メンバー関数ドキュメント
[explicit]
QUndoGroup::QUndoGroup(QObject *parent = nullptr)
親を持つ空の QUndoGroup オブジェクトを作成しますparent 。
addStack()も参照してください 。
[virtual noexcept]
QUndoGroup::~QUndoGroup()
QUndoGroup を破壊する。
QUndoStack *QUndoGroup::activeStack() const
このグループのアクティブなスタックを返す。
アクティブなスタックが1つもない場合、またはグループが空の場合、この関数はnullptr
を返す。
setActiveStack() およびQUndoStack::setActive()も参照のこと 。
[signal]
void QUndoGroup::activeStackChanged(QUndoStack *stack)
このシグナルは、グループのアクティブ・スタックが変更されるたびに発せられる。これは、setActiveStack ()またはQUndoStack::setActive ()が呼び出されたとき、あるいはアクティブ・スタックがグループから取り除かれたときに発生する。stack は新しいアクティブ・スタックである。アクティブなスタックがない場合、stack は 0 である。
setActiveStack() およびQUndoStack::setActive()も参照のこと 。
void QUndoGroup::addStack(QUndoStack *stack)
stack をこのグループに追加する。グループはスタックの所有権を持ちません。スタックをグループに追加するもうひとつの方法は、QUndoStack::QUndoStack() でスタックの親QObject としてグループを指定することです。この場合、スタックは QObjects の通常の方法で、グループが削除されたときに削除されます。
removeStack(),stacks(),QUndoStack::QUndoStack()も参照してください 。
bool QUndoGroup::canRedo() const
アクティブなスタックのQUndoStack::canRedo() の値を返す。
アクティブなスタックがない場合、またはグループが空の場合、この関数はfalse
を返す。
canUndo() およびsetActiveStack()も参照のこと 。
[signal]
void QUndoGroup::canRedoChanged(bool canRedo)
このシグナルは、アクティブ・スタックがQUndoStack::canRedoChanged() を発するか、アクティブ・スタックが変化するたびに発せられる。
canRedo は新しい状態であり、アクティブ・スタックが 0 の場合は false である。
QUndoStack::canRedoChanged() およびsetActiveStack()も参照の こと。
bool QUndoGroup::canUndo() const
アクティブなスタックのQUndoStack::canUndo() の値を返す。
アクティブなスタックがない場合、またはグループが空の場合、この関数はfalse
を返す。
canRedo() およびsetActiveStack()も参照のこと 。
[signal]
void QUndoGroup::canUndoChanged(bool canUndo)
このシグナルは、アクティブ・スタックがQUndoStack::canUndoChanged() を発するか、アクティブ・スタックが変化するたびに発せられる。
canUndo は新しい状態であり、アクティブ・スタックが 0 の場合は false である。
QUndoStack::canUndoChanged() およびsetActiveStack()も参照の こと。
[signal]
void QUndoGroup::cleanChanged(bool clean)
このシグナルは、アクティブ・スタックがQUndoStack::cleanChanged() を発するか、アクティブ・スタックが変化するたびに発せられる。
clean は新しい状態であり、アクティブ・スタックが0の場合は真である。
QUndoStack::cleanChanged() およびsetActiveStack()も参照の こと。
QAction *QUndoGroup::createRedoAction(QObject *parent, const QString &prefix = QString()) const
parent を親とするQAction オブジェクトを作成する。
このアクションをトリガすると、アクティブ・スタック上でQUndoStack::redo() が呼び出される。このアクションのテキストは、常に、redo() の次の呼び出しでやり直されるコマンドのテキストになり、先頭にprefix が付きます。やり直しが可能なコマンドがない場合、グループが空の場合、またはどのスタックもアクティブでない場合、このアクションは無効になる。
prefix が空の場合、接頭辞の代わりにデフォルトのテンプレート "Redo %1" が使用されます。Qt 4.8以前では、接頭辞 "Redo "がデフォルトで使用されていました。
createUndoAction(),canRedo(),QUndoCommand::text()も参照してください 。
QAction *QUndoGroup::createUndoAction(QObject *parent, const QString &prefix = QString()) const
parent を親とするアンドゥQAction オブジェクトを作成する。
このアクションをトリガすると、アクティブ・スタック上でQUndoStack::undo() が呼び出される。このアクションのテキストは、常に、undo() の次の呼び出しでアンドゥされるコマンドのテキストとなり、先頭にprefix が付きます。元に戻せるコマンドがない場合、グループが空の場合、またはどのスタックもアクティブでない場合、このアクションは無効になる。
prefix が空の場合、接頭辞の代わりにデフォルトテンプレート "Undo %1" が使われます。Qt 4.8以前では、接頭辞 "Undo "がデフォルトで使われていました。
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 に設定する。
スタックがこのグループのメンバでない場合、この関数は何もしない。
stack でQUndoStack::setActive() を呼び出すのと同義である。
createUndoAction() およびcreateRedoAction() が返すアクションは、stack のQUndoStack::createUndoAction() およびQUndoStack::createRedoAction() が返すアクションと同じように動作する。
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()も参照の こと。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.