QmlDesigner: Implement JumpToCode in states editor

Task-number: QDS-10867
Change-Id: I90975ad70567261899f047f2f02236bb993cfd2b
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
This commit is contained in:
Thomas Hartmann
2023-10-25 17:34:00 +02:00
parent e4301eccff
commit a81e90a7f4
4 changed files with 19 additions and 0 deletions

View File

@@ -44,6 +44,7 @@ StudioControls.Menu {
signal remove() signal remove()
signal toggle() signal toggle()
signal resetWhenCondition() signal resetWhenCondition()
signal jumpToCode()
signal editAnnotation() signal editAnnotation()
signal removeAnnotation() signal removeAnnotation()
@@ -84,6 +85,14 @@ StudioControls.Menu {
StudioControls.MenuSeparator {} StudioControls.MenuSeparator {}
StudioControls.MenuItem {
enabled: !root.isBaseState
text: qsTr("Jump To Code")
onTriggered: root.jumpToCode()
}
StudioControls.MenuSeparator {}
StudioControls.MenuItem { StudioControls.MenuItem {
enabled: !root.isBaseState && root.hasWhenCondition enabled: !root.isBaseState && root.hasWhenCondition
text: qsTr("Reset when Condition") text: qsTr("Reset when Condition")

View File

@@ -736,6 +736,9 @@ Item {
onRemove: root.remove() onRemove: root.remove()
onToggle: root.setPropertyChangesVisible(!root.propertyChangesVisible) onToggle: root.setPropertyChangesVisible(!root.propertyChangesVisible)
onResetWhenCondition: statesEditorModel.resetWhenCondition(root.internalNodeId) onResetWhenCondition: statesEditorModel.resetWhenCondition(root.internalNodeId)
onJumpToCode: StatesEditorBackend.statesEditorModel.jumpToCode()
onEditAnnotation: { onEditAnnotation: {
StatesEditorBackend.statesEditorModel.setAnnotation(root.internalNodeId) StatesEditorBackend.statesEditorModel.setAnnotation(root.internalNodeId)
stateMenu.hasAnnotation = root.checkAnnotation() stateMenu.hasAnnotation = root.checkAnnotation()

View File

@@ -6,6 +6,7 @@
#include <bindingproperty.h> #include <bindingproperty.h>
#include <modelnode.h> #include <modelnode.h>
#include <modelnodeoperations.h>
#include <nodelistproperty.h> #include <nodelistproperty.h>
#include <nodemetainfo.h> #include <nodemetainfo.h>
#include <rewriterview.h> #include <rewriterview.h>
@@ -246,6 +247,11 @@ bool StatesEditorModel::hasDefaultState() const
return m_statesEditorView->hasDefaultState(); return m_statesEditorView->hasDefaultState();
} }
void StatesEditorModel::jumpToCode()
{
ModelNodeOperations::jumpToCode(m_statesEditorView->currentState().modelNode());
}
void StatesEditorModel::setAnnotation(int internalNodeId) void StatesEditorModel::setAnnotation(int internalNodeId)
{ {
m_statesEditorView->setAnnotation(internalNodeId); m_statesEditorView->setAnnotation(internalNodeId);

View File

@@ -50,6 +50,7 @@ public:
Q_INVOKABLE void setStateAsDefault(int internalNodeId); Q_INVOKABLE void setStateAsDefault(int internalNodeId);
Q_INVOKABLE void resetDefaultState(); Q_INVOKABLE void resetDefaultState();
Q_INVOKABLE bool hasDefaultState() const; Q_INVOKABLE bool hasDefaultState() const;
Q_INVOKABLE void jumpToCode();
Q_INVOKABLE void setAnnotation(int internalNodeId); Q_INVOKABLE void setAnnotation(int internalNodeId);
Q_INVOKABLE void removeAnnotation(int internalNodeId); Q_INVOKABLE void removeAnnotation(int internalNodeId);
Q_INVOKABLE bool hasAnnotation(int internalNodeId) const; Q_INVOKABLE bool hasAnnotation(int internalNodeId) const;