summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJanne Kangas <janne.kangas@qt.io>2019-05-14 11:02:30 +0300
committerJanne Kangas <janne.kangas@qt.io>2019-06-11 09:13:21 +0300
commitc2c0a92cb2649d1b6709c08d689bcf68f6d488c2 (patch)
tree00b6f317fdb0dd9ff6ac2bc4224c9eebef3481df
parent855977b3b730819ae3a3b7ddf2687387ab419584 (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.cpp28
-rw-r--r--src/Authoring/Qt3DStudio/MainFrm.h3
-rw-r--r--src/Authoring/Qt3DStudio/MainFrm.ui11
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>