Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
14a5d575
Commit
14a5d575
authored
Feb 02, 2011
by
Marco Bubke
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
QmlDesigner: Add notifier for state change
parent
7c6a13b3
Changes
20
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
96 additions
and
43 deletions
+96
-43
src/plugins/qmldesigner/components/integration/componentview.cpp
...gins/qmldesigner/components/integration/componentview.cpp
+1
-1
src/plugins/qmldesigner/components/integration/componentview.h
...lugins/qmldesigner/components/integration/componentview.h
+2
-0
src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp
...r/components/integration/designdocumentcontrollerview.cpp
+3
-1
src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h
...ner/components/integration/designdocumentcontrollerview.h
+2
-0
src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
...ns/qmldesigner/components/itemlibrary/itemlibraryview.cpp
+4
-0
src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
...gins/qmldesigner/components/itemlibrary/itemlibraryview.h
+2
-0
src/plugins/qmldesigner/components/navigator/navigatorview.cpp
...lugins/qmldesigner/components/navigator/navigatorview.cpp
+4
-0
src/plugins/qmldesigner/components/navigator/navigatorview.h
src/plugins/qmldesigner/components/navigator/navigatorview.h
+2
-0
src/plugins/qmldesigner/designercore/include/abstractview.h
src/plugins/qmldesigner/designercore/include/abstractview.h
+3
-0
src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
...ugins/qmldesigner/designercore/include/nodeinstanceview.h
+2
-0
src/plugins/qmldesigner/designercore/include/qmlmodelview.h
src/plugins/qmldesigner/designercore/include/qmlmodelview.h
+2
-3
src/plugins/qmldesigner/designercore/include/rewriterview.h
src/plugins/qmldesigner/designercore/include/rewriterview.h
+2
-0
src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
...s/qmldesigner/designercore/instances/nodeinstanceview.cpp
+5
-0
src/plugins/qmldesigner/designercore/model/abstractview.cpp
src/plugins/qmldesigner/designercore/model/abstractview.cpp
+6
-0
src/plugins/qmldesigner/designercore/model/model.cpp
src/plugins/qmldesigner/designercore/model/model.cpp
+27
-0
src/plugins/qmldesigner/designercore/model/model_p.h
src/plugins/qmldesigner/designercore/model/model_p.h
+1
-0
src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
+18
-38
src/plugins/qmldesigner/designercore/model/rewriterview.cpp
src/plugins/qmldesigner/designercore/model/rewriterview.cpp
+4
-0
src/plugins/qmldesigner/designercore/model/viewlogger.cpp
src/plugins/qmldesigner/designercore/model/viewlogger.cpp
+4
-0
src/plugins/qmldesigner/designercore/model/viewlogger.h
src/plugins/qmldesigner/designercore/model/viewlogger.h
+2
-0
No files found.
src/plugins/qmldesigner/components/integration/componentview.cpp
View file @
14a5d575
...
...
@@ -173,7 +173,7 @@ void ComponentView::instancesChildrenChanged(const QVector<ModelNode> &/*nodeLis
void
ComponentView
::
rewriterBeginTransaction
()
{}
void
ComponentView
::
rewriterEndTransaction
()
{}
void
ComponentView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{}
void
ComponentView
::
selectedNodesChanged
(
const
QList
<
ModelNode
>
&
/*selectedNodeList*/
,
const
QList
<
ModelNode
>
&
/*lastSelectedNodeList*/
)
{}
...
...
src/plugins/qmldesigner/components/integration/componentview.h
View file @
14a5d575
...
...
@@ -82,6 +82,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
void
selectedNodesChanged
(
const
QList
<
ModelNode
>
&
selectedNodeList
,
const
QList
<
ModelNode
>
&
lastSelectedNodeList
);
...
...
src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.cpp
View file @
14a5d575
...
...
@@ -101,9 +101,11 @@ void DesignDocumentControllerView::rewriterBeginTransaction()
void
DesignDocumentControllerView
::
rewriterEndTransaction
()
{
}
void
DesignDocumentControllerView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{
}
static
QStringList
arrayToStringList
(
const
QByteArray
&
byteArray
)
{
...
...
src/plugins/qmldesigner/components/integration/designdocumentcontrollerview.h
View file @
14a5d575
...
...
@@ -73,6 +73,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
ModelNode
insertModel
(
const
ModelNode
&
modelNode
)
{
return
m_modelMerger
.
insertModel
(
modelNode
);
}
void
replaceModel
(
const
ModelNode
&
modelNode
)
...
...
src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.cpp
View file @
14a5d575
...
...
@@ -153,6 +153,10 @@ void ItemLibraryView::rewriterEndTransaction()
{
}
void
ItemLibraryView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{
}
void
ItemLibraryView
::
updateImports
()
{
m_widget
->
updateModel
();
...
...
src/plugins/qmldesigner/components/itemlibrary/itemlibraryview.h
View file @
14a5d575
...
...
@@ -90,6 +90,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
protected:
void
updateImports
();
...
...
src/plugins/qmldesigner/components/navigator/navigatorview.cpp
View file @
14a5d575
...
...
@@ -245,6 +245,10 @@ void NavigatorView::rewriterEndTransaction()
{
}
void
NavigatorView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{
}
void
NavigatorView
::
nodeOrderChanged
(
const
NodeListProperty
&
listProperty
,
const
ModelNode
&
node
,
int
oldIndex
)
{
if
(
m_treeModel
->
isInTree
(
node
))
...
...
src/plugins/qmldesigner/components/navigator/navigatorview.h
View file @
14a5d575
...
...
@@ -98,6 +98,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
private
slots
:
// void handleChangedItem(QStandardItem * item);
void
changeSelection
(
const
QItemSelection
&
selected
,
const
QItemSelection
&
deselected
);
...
...
src/plugins/qmldesigner/designercore/include/abstractview.h
View file @
14a5d575
...
...
@@ -118,6 +118,7 @@ public:
void
emitInstancesChildrenChanged
(
const
QVector
<
ModelNode
>
&
nodeList
);
void
emitRewriterBeginTransaction
();
void
emitRewriterEndTransaction
();
void
emitActualStateChanged
(
const
ModelNode
&
node
);
virtual
void
modelAttached
(
Model
*
model
);
virtual
void
modelAboutToBeDetached
(
Model
*
model
);
...
...
@@ -144,6 +145,8 @@ public:
virtual
void
rewriterBeginTransaction
()
=
0
;
virtual
void
rewriterEndTransaction
()
=
0
;
virtual
void
actualStateChanged
(
const
ModelNode
&
node
)
=
0
;
// base state is a invalid model node
virtual
void
selectedNodesChanged
(
const
QList
<
ModelNode
>
&
selectedNodeList
,
const
QList
<
ModelNode
>
&
lastSelectedNodeList
)
=
0
;
...
...
src/plugins/qmldesigner/designercore/include/nodeinstanceview.h
View file @
14a5d575
...
...
@@ -113,6 +113,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
QList
<
NodeInstance
>
instances
()
const
;
NodeInstance
instanceForNode
(
const
ModelNode
&
node
)
const
;
bool
hasInstanceForNode
(
const
ModelNode
&
node
)
const
;
...
...
src/plugins/qmldesigner/designercore/include/qmlmodelview.h
View file @
14a5d575
...
...
@@ -87,8 +87,6 @@ public:
QmlObjectNode
fxObjectNodeForId
(
const
QString
&
id
);
void
customNotification
(
const
AbstractView
*
view
,
const
QString
&
identifier
,
const
QList
<
ModelNode
>
&
nodeList
,
const
QList
<
QVariant
>
&
data
);
void
modelAttached
(
Model
*
model
);
void
modelAboutToBeDetached
(
Model
*
model
);
...
...
@@ -104,6 +102,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
void
nodeCreated
(
const
ModelNode
&
createdNode
);
void
nodeRemoved
(
const
ModelNode
&
removedNode
,
const
NodeAbstractProperty
&
parentProperty
,
PropertyChangeFlags
propertyChange
);
void
nodeAboutToBeReparented
(
const
ModelNode
&
node
,
const
NodeAbstractProperty
&
newPropertyParent
,
const
NodeAbstractProperty
&
oldPropertyParent
,
AbstractView
::
PropertyChangeFlags
propertyChange
);
...
...
@@ -129,7 +129,6 @@ protected:
virtual
void
stateChanged
(
const
QmlModelState
&
newQmlModelState
,
const
QmlModelState
&
oldQmlModelState
);
void
activateState
(
const
QmlModelState
&
state
);
void
changeToState
(
const
ModelNode
&
node
,
const
QString
&
stateName
);
private:
QmlModelState
m_state
;
...
...
src/plugins/qmldesigner/designercore/include/rewriterview.h
View file @
14a5d575
...
...
@@ -148,6 +148,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
void
importAdded
(
const
Import
&
import
);
void
importRemoved
(
const
Import
&
import
);
...
...
src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp
View file @
14a5d575
...
...
@@ -474,6 +474,11 @@ void NodeInstanceView::rewriterEndTransaction()
}
void
NodeInstanceView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{
}
//\}
...
...
src/plugins/qmldesigner/designercore/model/abstractview.cpp
View file @
14a5d575
...
...
@@ -439,6 +439,12 @@ void AbstractView::emitRewriterEndTransaction()
model
()
->
m_d
->
notifyRewriterEndTransaction
();
}
void
AbstractView
::
emitActualStateChanged
(
const
ModelNode
&
node
)
{
if
(
model
())
model
()
->
m_d
->
notifyActualStateChanged
(
node
);
}
void
AbstractView
::
changeRootNodeType
(
const
QString
&
type
,
int
majorVersion
,
int
minorVersion
)
{
Internal
::
WriteLocker
locker
(
m_model
.
data
());
...
...
src/plugins/qmldesigner/designercore/model/model.cpp
View file @
14a5d575
...
...
@@ -567,6 +567,33 @@ void ModelPrivate::notifyInstancesChildrenChanged(const QVector<ModelNode> &node
}
}
void
ModelPrivate
::
notifyActualStateChanged
(
const
ModelNode
&
node
)
{
bool
resetModel
=
false
;
QString
description
;
try
{
if
(
rewriterView
())
rewriterView
()
->
actualStateChanged
(
ModelNode
(
node
.
internalNode
(),
model
(),
rewriterView
()));
}
catch
(
RewritingException
&
e
)
{
description
=
e
.
description
();
resetModel
=
true
;
}
foreach
(
const
QWeakPointer
<
AbstractView
>
&
view
,
m_viewList
)
{
Q_ASSERT
(
view
!=
0
);
view
->
actualStateChanged
(
ModelNode
(
node
.
internalNode
(),
model
(),
view
.
data
()));
}
if
(
nodeInstanceView
())
{
nodeInstanceView
()
->
actualStateChanged
(
ModelNode
(
node
.
internalNode
(),
model
(),
nodeInstanceView
()));
}
if
(
resetModel
)
{
resetModelByRewriter
(
description
);
}
}
void
ModelPrivate
::
notifyRewriterBeginTransaction
()
{
bool
resetModel
=
false
;
...
...
src/plugins/qmldesigner/designercore/model/model_p.h
View file @
14a5d575
...
...
@@ -153,6 +153,7 @@ public:
void
notifyInstancesRenderImageChanged
(
const
QVector
<
ModelNode
>
&
nodeList
);
void
notifyInstancesPreviewImageChanged
(
const
QVector
<
ModelNode
>
&
nodeList
);
void
notifyInstancesChildrenChanged
(
const
QVector
<
ModelNode
>
&
nodeList
);
void
notifyActualStateChanged
(
const
ModelNode
&
node
);
void
notifyRewriterBeginTransaction
();
void
notifyRewriterEndTransaction
();
...
...
src/plugins/qmldesigner/designercore/model/qmlmodelview.cpp
View file @
14a5d575
...
...
@@ -57,7 +57,7 @@ void QmlModelView::setCurrentState(const QmlModelState &state)
if
(
!
state
.
isValid
())
return
;
emit
CustomNotification
(
"__s
tate
c
hanged
__"
,
QList
<
ModelNode
>
()
<<
state
.
modelNode
());
emit
ActualS
tate
C
hanged
(
state
.
modelNode
());
}
QmlModelState
QmlModelView
::
currentState
()
const
...
...
@@ -281,24 +281,6 @@ QmlObjectNode QmlModelView::fxObjectNodeForId(const QString &id)
return
QmlObjectNode
(
modelNodeForId
(
id
));
}
void
QmlModelView
::
customNotification
(
const
AbstractView
*
/* view */
,
const
QString
&
identifier
,
const
QList
<
ModelNode
>
&
nodeList
,
const
QList
<
QVariant
>
&
/* data */
)
{
if
(
identifier
==
"__state changed__"
)
{
// TODO: Is this still needed?
QmlModelState
newState
(
nodeList
.
first
());
QmlModelState
oldState
=
currentState
();
if
(
!
newState
.
isValid
())
newState
=
baseState
();
activateState
(
newState
);
m_state
=
newState
;
if
(
newState
!=
oldState
)
stateChanged
(
newState
,
oldState
);
}
}
NodeInstance
QmlModelView
::
instanceForModelNode
(
const
ModelNode
&
modelNode
)
{
return
nodeInstanceView
()
->
instanceForNode
(
modelNode
);
...
...
@@ -401,6 +383,23 @@ void QmlModelView::rewriterEndTransaction()
}
void
QmlModelView
::
actualStateChanged
(
const
ModelNode
&
node
)
{
QmlModelState
newState
(
node
);
QmlModelState
oldState
=
currentState
();
if
(
!
newState
.
isValid
())
newState
=
baseState
();
activateState
(
newState
);
m_state
=
newState
;
if
(
newState
!=
oldState
)
stateChanged
(
newState
,
oldState
);
}
void
QmlModelView
::
nodeInstancePropertyChanged
(
const
ModelNode
&
node
,
const
QString
&
propertyName
)
{
QmlObjectNode
qmlObjectNode
(
node
);
...
...
@@ -438,25 +437,6 @@ void QmlModelView::activateState(const QmlModelState &state)
}
}
void
QmlModelView
::
changeToState
(
const
ModelNode
&
node
,
const
QString
&
stateName
)
{
QmlItemNode
itemNode
(
node
);
QmlModelState
newState
;
if
(
stateName
.
isEmpty
())
newState
=
baseState
();
else
newState
=
itemNode
.
states
().
state
(
stateName
);
QmlModelState
oldState
=
m_state
;
if
(
newState
.
isValid
()
&&
oldState
!=
newState
)
{
m_state
=
newState
;
stateChanged
(
newState
,
oldState
);
}
}
void
QmlModelView
::
transformChanged
(
const
QmlObjectNode
&
/*qmlObjectNode*/
,
const
QString
&
/*propertyName*/
)
{
}
...
...
src/plugins/qmldesigner/designercore/model/rewriterview.cpp
View file @
14a5d575
...
...
@@ -415,6 +415,10 @@ void RewriterView::rewriterEndTransaction()
}
}
void
RewriterView
::
actualStateChanged
(
const
ModelNode
&
/*node*/
)
{
}
void
RewriterView
::
selectedNodesChanged
(
const
QList
<
ModelNode
>
&
/* selectedNodeList, */
,
const
QList
<
ModelNode
>
&
/*lastSelectedNodeList */
)
{
}
...
...
src/plugins/qmldesigner/designercore/model/viewlogger.cpp
View file @
14a5d575
...
...
@@ -267,5 +267,9 @@ void ViewLogger::rewriterEndTransaction()
m_output
<<
time
()
<<
indent
(
"rewriterEndTransaction:"
)
<<
endl
;
}
void
ViewLogger
::
actualStateChanged
(
const
ModelNode
&
node
)
{
m_output
<<
time
()
<<
indent
(
"actualStateChanged:"
)
<<
node
<<
endl
;
}
}
// namespace Internal
}
// namespace QmlDesigner
src/plugins/qmldesigner/designercore/model/viewlogger.h
View file @
14a5d575
...
...
@@ -86,6 +86,8 @@ public:
void
rewriterBeginTransaction
();
void
rewriterEndTransaction
();
void
actualStateChanged
(
const
ModelNode
&
node
);
protected:
QString
time
()
const
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment