/////////////////////////////////////////////////////////////////////////////// // Copyright (C) 2002-2025, Open Design Alliance (the "Alliance"). // All rights reserved. // // This software and its documentation and related materials are owned by // the Alliance. The software may only be incorporated into application // programs owned by members of the Alliance, subject to a signed // Membership Agreement and Supplemental Software License Agreement with the // Alliance. The structure and organization of this software are the valuable // trade secrets of the Alliance and its suppliers. The software is also // protected by copyright law and international treaty provisions. Application // programs incorporating this software must include the following statement // with their copyright notices: // // This application incorporates Open Design Alliance software pursuant to a license // agreement with Open Design Alliance. // Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance. // All rights reserved. // // By use of this software, its documentation or related materials, you // acknowledge and accept the above terms. /////////////////////////////////////////////////////////////////////////////// #ifndef TV_QTAPP_DIALOGS_H #define TV_QTAPP_DIALOGS_H #include "OdaCommon.h" #include #include #include #include #include #include #include #include #include #include "OdVector.h" #include "TvDatabaseReceiver.h" class OdTvStreamingClient; class OdTvQtStreamingDialog : public QDialog { Q_OBJECT public: OdTvQtStreamingDialog( std::shared_ptr< OdTvStreamingClient > pClient, QWidget* pParent = nullptr ); OdString requestedFile() const { return m_requestFile; } bool isPartialMode() const { return m_bPartialMode; } bool lowMemoryModeOptions( OdUInt64& nLimit ) { if( m_bLowMemoryMode ) nLimit = m_nLimit; else nLimit = 0; return m_bLowMemoryMode; } bool isAssemblyMode() const { return m_bAssemblyMode; } const OdVector& assemblyInput() const { return m_assemblyInput; } private slots: void onOK(); void onCancel(); void onModeChanged( bool ); void onRequestFileList(); void onFileComboChanged( int index ); void onLowMemoryModeChanged( bool ); void onAssembly(); private: void setupFilesList(); void updateLowMemoryOptions(); private: std::shared_ptr< OdTvStreamingClient > m_pClient; OdVector< OdString > m_files; bool m_bPartialMode = false; QComboBox* m_pFilesCombo = nullptr; QPushButton* m_pRequestBtn = nullptr; OdString m_requestFile = OdString::kEmpty; QCheckBox* m_pLowMemCheck = nullptr; QLineEdit* m_pLowMemEdit = nullptr; bool m_bLowMemoryMode = false; OdUInt64 m_nLimit = 0; QPushButton* m_pAssemblyBtn = nullptr; OdVector m_assemblyInput; bool m_bAssemblyMode = false; }; class OdTvQtAssemblyStringSelectionDialog : public QDialog { Q_OBJECT public: OdTvQtAssemblyStringSelectionDialog( const OdString& title, const OdString& stringsTitle, const OdVector< OdString >& strings, QWidget* pParent = nullptr ); const OdVector< OdString >& selectedResult() const { return m_result; } private slots: void onOK(); void onCancel(); private: OdVector< QCheckBox* > m_checkBoxes; OdVector< OdString > m_result; }; class OdTvQtAssemblyTreeDialog : public QDialog { Q_OBJECT public: OdTvQtAssemblyTreeDialog( const OdTvAssemblyCreationReactor::OdTvAssemblyTemplate& assemblyTemplate, QWidget* pParent = nullptr ); private: QTreeWidget* m_pTree = nullptr; private slots: void onOK(); void onCancel(); }; #endif