summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Palettes/Action/ActionView.cpp
diff options
context:
space:
mode:
authorMiikka Heikkinen <miikka.heikkinen@qt.io>2017-10-25 13:57:12 +0300
committerMiikka Heikkinen <miikka.heikkinen@qt.io>2017-10-26 07:10:38 +0000
commita7eed8bd98e9c0c7111588bf21620a41bffd56e1 (patch)
tree62ab25d1657ed3a6a8bf1c15d8d5e03829b1e681 /src/Authoring/Studio/Palettes/Action/ActionView.cpp
parent8e6e43ce170d2856103f437acb20a7b53156c618 (diff)
Fix event browser initialization
Now the selection dialog for events, handlers, and handler argument events selects the the current event/handler properly when opened. Task-number: QT3DS-135 Change-Id: I9a85772206a8fa065f0c1762358afa256dbff286 Reviewed-by: Jere Tuliniemi <jere.tuliniemi@qt.io> Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io> Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io> Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/Studio/Palettes/Action/ActionView.cpp')
-rw-r--r--src/Authoring/Studio/Palettes/Action/ActionView.cpp18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/Authoring/Studio/Palettes/Action/ActionView.cpp b/src/Authoring/Studio/Palettes/Action/ActionView.cpp
index 30e39296..397a773a 100644
--- a/src/Authoring/Studio/Palettes/Action/ActionView.cpp
+++ b/src/Authoring/Studio/Palettes/Action/ActionView.cpp
@@ -391,6 +391,7 @@ QObject *ActionView::showEventBrowser(const QPoint &point)
m_eventsBrowser->setModel(m_eventsModel);
+ m_eventsBrowser->selectAndExpand(QString::fromStdWString(actionInfo.m_Event));
showBrowser(m_eventsBrowser, point);
connect(m_eventsBrowser, &EventsBrowserView::selectionChanged,
@@ -423,6 +424,7 @@ QObject *ActionView::showHandlerBrowser(const QPoint &point)
m_handlerBrowser->setModel(m_handlersModel);
+ m_handlerBrowser->selectAndExpand(QString::fromStdWString(actionInfo.m_Handler));
showBrowser(m_handlerBrowser, point);
connect(m_handlerBrowser, &EventsBrowserView::selectionChanged,
@@ -455,11 +457,25 @@ QObject *ActionView::showEventBrowserForArgument(int handle, const QPoint &point
m_fireEventsBrowser->setModel(m_fireEventsModel);
+ qt3dsdm::SValue oldValue;
+ GetDoc()->GetStudioSystem()->GetActionCore()->GetHandlerArgumentValue(handle, oldValue);
+
+ QString eventName;
+ for (Qt3DSDMEventHandle eventHandle : eventList) {
+ if (oldValue == eventHandle.GetHandleValue()) {
+ qt3dsdm::SEventInfo eventInfo = bridge->GetEventInfo(eventHandle);
+ eventName = QString::fromWCharArray(eventInfo.m_FormalName.wide_str());
+ if (eventName.isEmpty())
+ eventName = QString::fromWCharArray(eventInfo.m_Name.wide_str());
+ }
+ }
+ m_fireEventsBrowser->selectAndExpand(eventName);
showBrowser(m_fireEventsBrowser, point);
connect(m_fireEventsBrowser, &EventsBrowserView::selectionChanged,
this, [this, handle] {
- setArgumentValue(handle, qt3dsdm::Qt3DSDMEventHandle(m_fireEventsBrowser->selectedHandle()).GetHandleValue());
+ setArgumentValue(handle, qt3dsdm::Qt3DSDMEventHandle(
+ m_fireEventsBrowser->selectedHandle()).GetHandleValue());
});
return m_fireEventsBrowser;