diff options
author | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2017-10-25 13:57:12 +0300 |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@qt.io> | 2017-10-26 07:10:38 +0000 |
commit | a7eed8bd98e9c0c7111588bf21620a41bffd56e1 (patch) | |
tree | 62ab25d1657ed3a6a8bf1c15d8d5e03829b1e681 /src/Authoring/Studio/Palettes/Action/ActionView.cpp | |
parent | 8e6e43ce170d2856103f437acb20a7b53156c618 (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.cpp | 18 |
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; |