QUndoGroup Class
QUndoGroupクラスは、QUndoStack オブジェクトのグループです。詳細...
Header: | #include <QUndoGroup> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Inherits: | 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)
parent を親とする空の QUndoGroup オブジェクトを作成します。
addStack()も参照 。
[virtual noexcept]
QUndoGroup::~QUndoGroup()
QUndoGroup を破棄します。
QUndoStack *QUndoGroup::activeStack() const
このグループのアクティブなスタックを返します。
アクティブなスタックがない場合、またはグループが空の場合、この関数は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() の値を返す。
アクティブなスタックが1つもない場合、またはグループが空の場合、この関数は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()も参照してください 。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。