summaryrefslogtreecommitdiffstats
path: root/src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h')
m---------src/Runtime/ogl-runtime0
-rw-r--r--src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h175
2 files changed, 0 insertions, 175 deletions
diff --git a/src/Runtime/ogl-runtime b/src/Runtime/ogl-runtime
new file mode 160000
+Subproject 427fddb50d43aa21a90fc7356ee3cdd8a908df5
diff --git a/src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h b/src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h
deleted file mode 100644
index 8d89bfab..00000000
--- a/src/Runtime/ogl-runtime/src/dm/systems/cores/DataCoreProducer.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 1993-2009 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$
-**
-****************************************************************************/
-#pragma once
-#ifndef DATACOREPRODUCERH
-#define DATACOREPRODUCERH
-
-#include "Qt3DSDMTransactions.h"
-#include "SimpleDataCore.h"
-#include "Qt3DSDMSignals.h"
-#include "SimpleSlideCore.h"
-
-namespace qt3dsdm {
-
-class CDataCoreProducer : public IDataCore,
- public ITransactionProducer,
- public IInstancePropertyCoreSignalProvider,
- public IDataCoreSignalProvider
-{
- typedef std::shared_ptr<IMergeableTransaction<TPropertyValuePair>> TPropertyMergeMapEntry;
- typedef std::unordered_map<TSlideInstancePropertyPair, TPropertyMergeMapEntry>
- TPropertyMergeMap;
-
- TTransactionConsumerPtr m_Consumer;
- TSimpleDataCorePtr m_Data;
- TSignalItemPtr m_InstancePropertyCoreSignaller;
- TSignalItemPtr m_DataCoreSignaller;
-
- TPropertyMergeMap m_PropertyMergeMap;
-
-public:
- CDataCoreProducer(TStringTablePtr inStringTable)
- : m_Data(new CSimpleDataCore(inStringTable))
- {
- InitSignallers();
- }
- virtual ~CDataCoreProducer() {}
-
- IStringTable &GetStringTable() const override { return m_Data->GetStringTable(); }
- std::shared_ptr<IStringTable> GetStringTablePtr() const override
- {
- return m_Data->GetStringTablePtr();
- }
-
- // IHandleBase
- bool HandleValid(int inHandle) const override;
-
- // IInstancePropertyCore
- //===============================================================
- Qt3DSDMPropertyHandle GetAggregateInstancePropertyByName(Qt3DSDMInstanceHandle inInstance,
- const TCharStr &inStr) const override;
- void GetAggregateInstanceProperties(Qt3DSDMInstanceHandle inInstance,
- TPropertyHandleList &outProperties) const override;
- void GetSpecificInstancePropertyValues(Qt3DSDMInstanceHandle inHandle,
- TPropertyHandleValuePairList &outValues) override;
- bool HasAggregateInstanceProperty(Qt3DSDMInstanceHandle inInstance,
- Qt3DSDMPropertyHandle inProperty) const override;
-
- void CheckValue(Qt3DSDMInstanceHandle inInstance, Qt3DSDMPropertyHandle inProperty,
- const SValue &inValue) const override;
- bool GetInstancePropertyValue(Qt3DSDMInstanceHandle inHandle,
- Qt3DSDMPropertyHandle inProperty, SValue &outValue) const override;
- void SetInstancePropertyValue(Qt3DSDMInstanceHandle inHandle,
- Qt3DSDMPropertyHandle inProperty, const SValue &inValue) override;
- //===============================================================
-
- // IDataCore
- //===============================================================
- Qt3DSDMInstanceHandle CreateInstance(Qt3DSDMInstanceHandle hdl = Qt3DSDMInstanceHandle()) override;
- void GetInstances(TInstanceHandleList &outInstances) const override;
- void GetInstancesDerivedFrom(TInstanceHandleList &outInstances,
- Qt3DSDMInstanceHandle inParent) const override;
- void DeleteInstance(Qt3DSDMInstanceHandle inHandle) override;
-
- void DeriveInstance(Qt3DSDMInstanceHandle inInstance, Qt3DSDMInstanceHandle inParent) override;
- void GetInstanceParents(Qt3DSDMInstanceHandle inHandle,
- TInstanceHandleList &outParents) const override;
- bool IsInstanceOrDerivedFrom(Qt3DSDMInstanceHandle inInstance,
- Qt3DSDMInstanceHandle inParent) const override;
-
- Qt3DSDMPropertyHandle AddProperty(Qt3DSDMInstanceHandle inInstance, TCharPtr inName,
- DataModelDataType::Value inPropType) override;
- void GetInstanceProperties(Qt3DSDMInstanceHandle inInstance,
- TPropertyHandleList &outProperties) const override;
- const Qt3DSDMPropertyDefinition &GetProperty(Qt3DSDMPropertyHandle inProperty) const override;
- void RemoveProperty(Qt3DSDMPropertyHandle inProperty) override;
- void CopyInstanceProperties(Qt3DSDMInstanceHandle inSrcInstance,
- Qt3DSDMInstanceHandle inDestInstance) override;
-
- void RemoveCachedValues(Qt3DSDMInstanceHandle inInstance) override
- {
- m_Data->RemoveCachedValues(inInstance);
- }
- bool IsInstance(int inHandle) const override { return m_Data->IsInstance(inHandle); }
- bool IsProperty(int inHandle) const override { return m_Data->IsProperty(inHandle); }
- //===============================================================
-
- //===============================================================
- // Set the current consumer
- //===============================================================
- void SetConsumer(TTransactionConsumerPtr inConsumer) override;
-
- //===============================================================
- // Return a serializable data model for load/save
- //===============================================================
- virtual TSimpleDataCorePtr GetTransactionlessDataCore() { return m_Data; }
- virtual TSimpleDataCorePtr GetTransactionlessDataCore() const { return m_Data; }
-
- //===============================================================
- // Signal provider implementation
- //===============================================================
- TSignalConnectionPtr ConnectInstancePropertyValue(
- const std::function<void(Qt3DSDMInstanceHandle, Qt3DSDMPropertyHandle, const SValue &)>
- &inCallback) override;
- virtual TSignalConnectionPtr
- ConnectInstanceCreated(const std::function<void(Qt3DSDMInstanceHandle)> &inCallback) override;
- virtual TSignalConnectionPtr
- ConnectInstanceDeleted(const std::function<void(Qt3DSDMInstanceHandle)> &inCallback) override;
- virtual TSignalConnectionPtr
- ConnectBeforeInstanceDeleted(const std::function<void(Qt3DSDMInstanceHandle)> &inCallback) override;
- TSignalConnectionPtr ConnectInstanceDerived(
- const std::function<void(Qt3DSDMInstanceHandle, Qt3DSDMInstanceHandle)> &inCallback) override;
- TSignalConnectionPtr ConnectInstanceParentRemoved(
- const std::function<void(Qt3DSDMInstanceHandle, Qt3DSDMInstanceHandle)> &inCallback) override;
- virtual TSignalConnectionPtr
- ConnectPropertyAdded(const std::function<void(Qt3DSDMInstanceHandle, Qt3DSDMPropertyHandle,
- TCharPtr, DataModelDataType::Value)> &inCallback) override;
- virtual TSignalConnectionPtr
- ConnectPropertyRemoved(const std::function<void(Qt3DSDMInstanceHandle, Qt3DSDMPropertyHandle,
- TCharPtr, DataModelDataType::Value)> &inCallback) override;
-
-private:
- CDataCoreProducer(const CDataCoreProducer&) = delete;
- CDataCoreProducer& operator=(const CDataCoreProducer&) = delete;
-
- template <typename TTransactionType>
- inline void RunWithConsumer(TTransactionType inTransaction)
- {
- qt3dsdm::RunWithConsumer(m_Consumer, inTransaction);
- }
-
- void InitSignallers();
- IInstancePropertyCoreSignalProvider *GetPropertyCoreProvider();
- IInstancePropertyCoreSignalSender *GetPropertyCoreSender();
- IDataCoreSignalProvider *GetDataCoreProvider();
- IDataCoreSignalSender *GetDataCoreSender();
-};
-}
-
-#endif