diff options
Diffstat (limited to 'src/Authoring/Studio/Palettes/Slide/SlideView.h')
-rw-r--r-- | src/Authoring/Studio/Palettes/Slide/SlideView.h | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/src/Authoring/Studio/Palettes/Slide/SlideView.h b/src/Authoring/Studio/Palettes/Slide/SlideView.h deleted file mode 100644 index 4a15e3a1..00000000 --- a/src/Authoring/Studio/Palettes/Slide/SlideView.h +++ /dev/null @@ -1,154 +0,0 @@ -/**************************************************************************** -** -** 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$ -** -****************************************************************************/ - -#ifndef SLIDEVIEW_H -#define SLIDEVIEW_H - -#include <QtQuickWidgets/qquickwidget.h> -#include <QtCore/qtimer.h> - -#include "SlideModel.h" -#include "Qt3DSDMSignals.h" -#include "DispatchListeners.h" - -class CClientDataModelBridge; -class CDoc; -class DataInputSelectView; - -QT_FORWARD_DECLARE_CLASS(QLabel); - -namespace qt3dsdm { -class ISlideSystem; -} - -class SlideView : public QQuickWidget, - public CPresentationChangeListener, - public IDataModelListener -{ - Q_OBJECT - - Q_PROPERTY(QAbstractItemModel *currentModel READ currentModel NOTIFY currentModelChanged FINAL) - Q_PROPERTY(bool showMasterSlide READ showMasterSlide WRITE setShowMasterSlide NOTIFY showMasterSlideChanged FINAL) - Q_PROPERTY(bool controlled MEMBER m_controlled NOTIFY controlledChanged) - Q_PROPERTY(QString currController MEMBER m_currentController NOTIFY controlledChanged) - Q_PROPERTY(QString toolTip MEMBER m_toolTip NOTIFY controlledChanged) - Q_PROPERTY(Qt::DockWidgetArea dockArea MEMBER m_dockArea NOTIFY dockAreaChanged) -public: - SlideView(QWidget *parent = nullptr); - ~SlideView(); - - bool showMasterSlide() const; - void setShowMasterSlide(bool show); - QAbstractItemModel *currentModel() { return m_CurrentModel; } - QSize sizeHint() const override; - QSize minimumSizeHint() const override; - void onDataInputChange(int handle, int instance, const QString &dataInputName); - void onDockLocationChange(Qt::DockWidgetArea area); - void refreshVariants(); - - Q_INVOKABLE void deselectAll(); - Q_INVOKABLE void addNewSlide(int row); - Q_INVOKABLE void removeSlide(int row); - Q_INVOKABLE void duplicateSlide(int row); - Q_INVOKABLE void startSlideRearrange(int row); - Q_INVOKABLE void moveSlide(int from, int to); - Q_INVOKABLE void finishSlideRearrange(bool commit); - Q_INVOKABLE void showContextMenu(int x, int y, int row); - Q_INVOKABLE void showControllerDialog(const QPoint &point); - Q_INVOKABLE void showVariantsTooltip(int row, const QPoint &point); - Q_INVOKABLE void hideVariantsTooltip(); - Q_INVOKABLE bool toolTipsEnabled(); - - // Presentation Change Listener - void OnNewPresentation() override; - void OnClosingPresentation() override; - - // IDataModelListener - void OnBeginDataModelNotifications() override; - void OnEndDataModelNotifications() override; - void OnImmediateRefreshInstanceSingle(qt3dsdm::Qt3DSDMInstanceHandle inInstance) override; - void OnImmediateRefreshInstanceMultiple(qt3dsdm::Qt3DSDMInstanceHandle *inInstance, - long inInstanceCount) override; - -Q_SIGNALS: - void currentModelChanged(); - void showMasterSlideChanged(); - void controlledChanged(); - void dockAreaChanged(); - -protected: - void mousePressEvent(QMouseEvent *event) override; - - // DataModel callbacks - virtual void OnActiveSlide(const qt3dsdm::Qt3DSDMSlideHandle &inMaster, int inIndex, - const qt3dsdm::Qt3DSDMSlideHandle &inSlide); - virtual void OnNewSlide(const qt3dsdm::Qt3DSDMSlideHandle &inSlide); - virtual void OnDeleteSlide(const qt3dsdm::Qt3DSDMSlideHandle &inSlide); - virtual void OnSlideRearranged(const qt3dsdm::Qt3DSDMSlideHandle &inMaster, int inOldIndex, - int inNewIndex); - - void updateDataInputStatus(); - void UpdateSlideViewTitleColor(); - -private: - void initialize(); - void clearSlideList(); - void setActiveSlide(const qt3dsdm::Qt3DSDMSlideHandle &inActiveSlideHandle); - inline CDoc *GetDoc() const; - inline CClientDataModelBridge *GetBridge() const; - inline qt3dsdm::ISlideSystem *GetSlideSystem() const; - long GetSlideIndex(const qt3dsdm::Qt3DSDMSlideHandle &inSlideHandle) const; - bool isMaster(const qt3dsdm::Qt3DSDMSlideHandle &inSlideHandle) const; - void rebuildSlideList(const qt3dsdm::Qt3DSDMSlideHandle &inActiveSlideHandle); - void onAssetCreated(qt3dsdm::Qt3DSDMInstanceHandle inInstance); - void onAssetDeleted(qt3dsdm::Qt3DSDMInstanceHandle inInstance); - void onPropertyChanged(qt3dsdm::Qt3DSDMInstanceHandle inInstance, - qt3dsdm::Qt3DSDMPropertyHandle inProperty); - - SlideModel *m_MasterSlideModel = nullptr; - SlideModel *m_SlidesModel = nullptr; - SlideModel *m_CurrentModel = nullptr; - DataInputSelectView *m_dataInputSelector = nullptr; - QLabel *m_variantsToolTip = nullptr; - std::vector<std::shared_ptr<qt3dsdm::ISignalConnection>> m_Connections; - // We need to remember which slide we were on when we entered the master slide. - // Then, when the users leave the master slide we can go back to roughly the same - // state. - QHash<int, int> m_MasterSlideReturnPointers; - - // the object containing the slides to be inspected. - qt3dsdm::Qt3DSDMInstanceHandle m_ActiveRoot = 0; - qt3dsdm::Qt3DSDMSlideHandle m_ActiveSlideHandle; // the active slide handle - bool m_controlled = false; // Are slides in this slide set controlled by datainput? - QString m_currentController; - QString m_toolTip; - Qt::DockWidgetArea m_dockArea; - QTimer m_variantRefreshTimer; -}; - -#endif // SLIDEVIEW_H |