diff options
author | Janne Kangas <janne.kangas@qt.io> | 2019-05-14 11:02:30 +0300 |
---|---|---|
committer | Janne Kangas <janne.kangas@qt.io> | 2019-06-11 09:13:21 +0300 |
commit | c2c0a92cb2649d1b6709c08d689bcf68f6d488c2 (patch) | |
tree | 00b6f317fdb0dd9ff6ac2bc4224c9eebef3481df | |
parent | 855977b3b730819ae3a3b7ddf2687387ab419584 (diff) |
Implement QML code generator for Datainputs and -outputs
Copy datainput and dataoutput QML declarations to clipboard.
Task-id: QT3DS-2201
Change-Id: I496b2d9517875227bfd89b144025717d23ae35d0
Reviewed-by: Jari Karppinen <jari.karppinen@qt.io>
Reviewed-by: Pasi Keränen <pasi.keranen@qt.io>
-rw-r--r-- | src/Authoring/Qt3DStudio/MainFrm.cpp | 28 | ||||
-rw-r--r-- | src/Authoring/Qt3DStudio/MainFrm.h | 3 | ||||
-rw-r--r-- | src/Authoring/Qt3DStudio/MainFrm.ui | 11 |
3 files changed, 39 insertions, 3 deletions
diff --git a/src/Authoring/Qt3DStudio/MainFrm.cpp b/src/Authoring/Qt3DStudio/MainFrm.cpp index 24d78088..3f2f946f 100644 --- a/src/Authoring/Qt3DStudio/MainFrm.cpp +++ b/src/Authoring/Qt3DStudio/MainFrm.cpp @@ -53,6 +53,7 @@ #include "SlideView.h" #include "FilterVariantsDlg.h" #include "PreviewHelper.h" +#include "StudioClipboard.h" #include <QtGui/qevent.h> #include <QtGui/qdesktopservices.h> @@ -98,6 +99,8 @@ CMainFrame::CMainFrame() connect(m_ui->action_Revert, &QAction::triggered, this, &CMainFrame::OnFileRevert); connect(m_ui->actionImportAssets, &QAction::triggered, this, &CMainFrame::OnFileImportAssets); connect(m_ui->actionData_Inputs, &QAction::triggered, this, &CMainFrame::OnFileDataInputs); + connect(m_ui->actionData_InputsGenerate, &QAction::triggered, this, + &CMainFrame::OnFileGenerateDataInputCode); connect(m_ui->action_Connect_to_Device, &QAction::triggered, this, &CMainFrame::OnFileConnectToDevice); m_recentItems.reset(new CRecentItems(m_ui->menuRecent_Projects)); @@ -378,7 +381,7 @@ void CMainFrame::OnCreate() m_ui->actionRemote_Preview->setEnabled(false); m_ui->action_New_Presentation->setEnabled(false); m_ui->actionData_Inputs->setEnabled(false); - + m_ui->actionData_InputsGenerate->setEnabled(false); #if 1 // TODO: Hidden until UX decision is made if these buttons are needed at all or not m_ui->actionPan_Tool->setVisible(false); m_ui->actionOrbit_Tool->setVisible(false); @@ -417,6 +420,7 @@ void CMainFrame::OnNewPresentation() m_ui->actionImportAssets->setEnabled(true); m_ui->action_New_Presentation->setEnabled(true); m_ui->actionData_Inputs->setEnabled(true); + m_ui->actionData_InputsGenerate->setEnabled(true); // Clear data input list and sub-presentation list g_StudioApp.m_subpresentations.clear(); @@ -816,6 +820,28 @@ void CMainFrame::OnFileDataInputs() } /** + * Generates QML declarations for datainputs and outputs in this + * project and copies them to clipboard. + */ +void CMainFrame::OnFileGenerateDataInputCode() +{ + QString out; + + for (const auto &it : qAsConst(g_StudioApp.m_dataInputDialogItems)) { + out.append(QStringLiteral("DataInput {\n")); + out.append(QStringLiteral(" name: \"") + it->name + QStringLiteral("\"\n")); + out.append(QStringLiteral("}\n")); + // TODO QT3DS-3510 - each datainput also generates dataoutput section, as this is how + // dataoutputs behave now in runtime. + out.append(QStringLiteral("DataOutput {\n")); + out.append(QStringLiteral(" name: \"") + it->name + QStringLiteral("\"\n")); + out.append(QStringLiteral("}\n")); + } + + CStudioClipboard::CopyTextToClipboard(out); +} + +/** * EditPreferences: Displays the presentation settings property sheet with * the specified active page. * diff --git a/src/Authoring/Qt3DStudio/MainFrm.h b/src/Authoring/Qt3DStudio/MainFrm.h index 7e143674..cf5d4768 100644 --- a/src/Authoring/Qt3DStudio/MainFrm.h +++ b/src/Authoring/Qt3DStudio/MainFrm.h @@ -105,6 +105,8 @@ public: void OnFileImportAssets(); void OnFileConnectToDevice(); void OnFileOpenRecent(int nID); + void OnFileDataInputs(); + void OnFileGenerateDataInputCode(); void OnEditRedo(); void OnEditUndo(); @@ -136,7 +138,6 @@ public: void OnUpdateToolAutosetkeys(); void OnEditApplicationPreferences(); void OnEditPresentationPreferences(); - void OnFileDataInputs(); void OnPlaybackPlay(); void OnUpdatePlaybackPlay(); void OnPlaybackRewind(); diff --git a/src/Authoring/Qt3DStudio/MainFrm.ui b/src/Authoring/Qt3DStudio/MainFrm.ui index 14b7c8cf..0a94407d 100644 --- a/src/Authoring/Qt3DStudio/MainFrm.ui +++ b/src/Authoring/Qt3DStudio/MainFrm.ui @@ -45,7 +45,7 @@ Project palette using Import functionality.</string> <x>0</x> <y>0</y> <width>1800</width> - <height>22</height> + <height>17</height> </rect> </property> <property name="focusPolicy"> @@ -79,6 +79,7 @@ Project palette using Import functionality.</string> <addaction name="separator"/> <addaction name="actionImportAssets"/> <addaction name="actionData_Inputs"/> + <addaction name="actionData_InputsGenerate"/> <addaction name="separator"/> <addaction name="action_Exit"/> </widget> @@ -1091,6 +1092,14 @@ Project palette using Import functionality.</string> <string>Ctrl+Shift+F</string> </property> </action> + <action name="actionData_InputsGenerate"> + <property name="text"> + <string>Copy QML code for DataInputs/Outputs</string> + </property> + <property name="toolTip"> + <string>Copy QML code for DataInput and DataOutput elements to clipboard</string> + </property> + </action> </widget> <customwidgets> <customwidget> |