summaryrefslogtreecommitdiffstats
path: root/src/Authoring/Studio/Workspace/Dialogs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Authoring/Studio/Workspace/Dialogs.h')
-rw-r--r--src/Authoring/Studio/Workspace/Dialogs.h188
1 files changed, 188 insertions, 0 deletions
diff --git a/src/Authoring/Studio/Workspace/Dialogs.h b/src/Authoring/Studio/Workspace/Dialogs.h
new file mode 100644
index 00000000..012ce98f
--- /dev/null
+++ b/src/Authoring/Studio/Workspace/Dialogs.h
@@ -0,0 +1,188 @@
+/****************************************************************************
+**
+** Copyright (C) 1999-2001 NVIDIA Corporation.
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of Qt 3D Studio.
+**
+** $QT_BEGIN_LICENSE:GPL-EXCEPT$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3 as published by the Free Software
+** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+//=============================================================================
+// Prefix
+//=============================================================================
+#ifndef INCLUDED_DIALOGS_H
+#define INCLUDED_DIALOGS_H 1
+
+#pragma once
+
+//=============================================================================
+// Includes
+//=============================================================================
+#include "UICFile.h"
+#include "StudioObjectTypes.h"
+#include "UICMessageBox.h"
+//#include "MultilineEditDlg.h"
+#include "UICFileTools.h"
+#include "CColor.h"
+#include <QMessageBox>
+
+//=============================================================================
+// Forwards
+//=============================================================================
+class IDoc;
+class CStudioApp;
+class CControl;
+class CDialogControl;
+class IProgressCallback;
+
+class CProgressPalette;
+
+class CDialogs
+{
+public:
+ enum ESavePromptResult {
+ CANCEL_OPERATION,
+ CONTINUE_NO_SAVE,
+ SAVE_FIRST,
+ };
+
+ CDialogs(bool inShowGUI = true);
+ virtual ~CDialogs();
+
+ void DisplayAssetDeleteFailed();
+ void DisplayRefreshResourceFailed(const Q3DStudio::CString &inResourceName,
+ const Q3DStudio::CString &inDescription);
+ QString ConfirmRefreshModelFile(const QString &inOriginalPath);
+
+ // This is not an appropriate place for these, but better
+ // in an inappropriate place than duplicated
+ static const char *GetDAEFileExtension();
+ static const char *GetFbxFileExtension();
+ // Null terminated list
+ static const char **GetImgFileExtensions();
+ static const char *GetImportFileExtension();
+ static const char *GetMeshFileExtension();
+ static const char *GetLUAFileExtension();
+ static const char *GetQmlFileExtension();
+ static const char **GetFontFileExtensions();
+ static const char **GetEffectFileExtensions();
+ static const char **GetMaterialFileExtensions();
+ static const char **GetSoundFileExtensions();
+ static bool IsImageFileExtension(const char *inExt);
+ static bool IsFontFileExtension(const char *inExt);
+ static bool IsEffectFileExtension(const char *inExt);
+ static bool IsMaterialFileExtension(const char *inExt);
+ static bool IsSoundFileExtension(const char *inExt);
+
+ static const wchar_t *GetWideDAEFileExtension();
+ static const wchar_t *GetWideFbxFileExtension();
+ static const wchar_t *GetWideImportFileExtension();
+ static const wchar_t *GetWideMeshFileExtension();
+ static const wchar_t *GetWideLUAFileExtension();
+ static const wchar_t **GetWideFontFileExtensions();
+ static const wchar_t **GetWideImgFileExtensions();
+ static const wchar_t **GetWideEffectFileExtensions();
+ static const wchar_t **GetWideMaterialFileExtensions();
+ static const wchar_t **GetWideSoundFileExtensions();
+ static bool IsImageFileExtension(const wchar_t *inExt);
+ static bool IsFontFileExtension(const wchar_t *inExt);
+ static bool IsEffectFileExtension(const wchar_t *inExt);
+ static bool IsMaterialFileExtension(const wchar_t *inExt);
+ static bool IsPathFileExtension(const wchar_t *inExt);
+ static bool IsPathBufferExtension(const wchar_t *inExt);
+ static bool IsSoundFileExtension(const wchar_t *inExt);
+
+ CUICFile GetExportChoice(const Q3DStudio::CString &inExtension,
+ const Q3DStudio::CString &inDefaultName);
+
+ std::pair<CUICFile, bool> GetSaveAsChoice(const Q3DStudio::CString &inDialogTitle = "",
+ bool inFilenameUntitled = false);
+ // Returns pair of file along with a boolean indicating the state of the create
+ // new directory checkbox.
+ std::pair<CUICFile, bool>
+ GetNewDocumentChoice(const Q3DStudio::CString &inInitialDirectory = Q3DStudio::CString());
+ CUICFile GetFileOpenChoice(const Q3DStudio::CString &inInitialDirectory = Q3DStudio::CString());
+
+ void DisplayImportFailed(const QUrl &inURL, const QString &inDescription,
+ bool inWarningsOnly);
+ void DisplayLoadingPresentationFailed(const CUICFile &inPresentation, long inErrorIDS = -1);
+ void DisplaySavingPresentationFailed();
+ void DisplaySaveReadOnlyFailed(const CUICFile &inSavedLocation);
+ CUICMessageBox::EMessageBoxReturn DisplayMessageBox(const Q3DStudio::CString &inTitle,
+ const Q3DStudio::CString &inText,
+ CUICMessageBox::EMessageBoxIcon inIcon,
+ bool inShowCancel);
+ int DisplayChoiceBox(const Q3DStudio::CString &inTitle, const Q3DStudio::CString &inText,
+ int inIcon);
+ void DisplayKnownErrorDialog(const Q3DStudio::CString &inErrorText);
+
+ bool LocateFileReference(CUICFile &outFile, long inFileType);
+ bool LocateFolderReference(CUICFile &outFile);
+ bool BrowseForFolderDialog(CUICFile &outFile, Q3DStudio::CString inDefaultDir,
+ Q3DStudio::CString inDialogTitle);
+
+ ESavePromptResult PromptForSave();
+ bool PromptForKeyframeInterpolation(float &ioEaseIn, float &ioEaseOut);
+
+ bool ConfirmRevert();
+
+ void DisplayProgressScreen(const Q3DStudio::CString &inActionText,
+ const Q3DStudio::CString &inFileName,
+ const Q3DStudio::CString &inWindowTitle);
+ void DestroyProgressScreen();
+
+ bool PromptObjectTimebarColor(CColor &ioColor);
+ void DisplayProfilingStatistics();
+ /*void DisplayMultilineTextEdit(Q3DStudio::CString &ioText,
+ CMultilineEditDlg::INotification *inNotifiction = NULL);*/
+ IProgressCallback *GetProgressScreen() const;
+
+ void DisplayEnvironmentVariablesError(const Q3DStudio::CString &inErrorMessage);
+
+ Q3DStudio::CString GetFilePathChoice(const Q3DStudio::CString &inFileExtensionFilter,
+ const Q3DStudio::CString &inDefault,
+ const Q3DStudio::CString *inDialogTitle = NULL);
+ void ResetSettings(const Q3DStudio::CString &inCurrentDocPath = "");
+
+ bool DisplayResetKeyframeValuesDlg();
+ void DisplayPasteFailed();
+
+ static void DisplayGLVersionError(const Q3DStudio::CString &inGLVersion,
+ const Q3DStudio::CString &inMinVersion);
+ static void DisplayGLVersionWarning(const Q3DStudio::CString &inGLVersion,
+ const Q3DStudio::CString &inRecommendedVersion);
+
+protected:
+ QString CreateAllowedTypesString(long inFileTypeFilter, bool inForImport);
+ static void DisplayGLVersionDialog(const Q3DStudio::CString &inGLVersion,
+ const Q3DStudio::CString &inRecommendedVersion,
+ bool inError);
+
+#ifdef WIN32
+ CProgressPalette *m_ProgressPalette;
+#endif
+ bool m_ShowGUI;
+
+ Q3DStudio::CString m_LastSaveFile; ///< Path to the file was previously saved
+};
+#endif // INCLUDED_DIALOGS_H