6#include <QtCore/QByteArray>
7#include <QtCore/QString>
8#include <QtCore/QVector>
9#include <QtCore/QVariant>
10#include <QtWidgets/QAbstractItemDelegate>
11#include <QtWidgets/QMenu>
14#include <ibase/ICommandsProvider.h>
15#include <iqtgui/IVisualStatus.h>
16#include <iqtgui/IGuiObject.h>
19#include <imtbase/IObjectCollection.h>
20#include <imtbase/ICollectionFilter.h>
52 enum CommandIdentifier
59 DR_TYPE_ID = Qt::UserRole,
74 istd::IChangeableSharedPtr objectPtr;
89 IF_SORT_BY_DEFAULT = 4
92 HeaderInfo(
bool setIsFixed =
false,
int headerFlags = IF_SORTABLE, Qt::SortOrder setDefaultSortOrder = Qt::AscendingOrder, quint16 setMinWidth = 0, quint16 setMaxWidth = 0xFFFF)
93 : isFixed(setIsFixed),
95 defaultSortOrder(setDefaultSortOrder),
96 minWidth(setMinWidth),
103 Qt::SortOrder defaultSortOrder;
108 struct SummaryInformation
121 iqtgui::IGuiObject* parentGuiPtr,
122 const iprm::IParamsSet* filterParamsPtr) = 0;
153 virtual void UpdateItemSelection(
const imtbase::ICollectionInfo::Ids& selectedItems,
const QByteArray& selectedTypeId) = 0;
159 const QByteArray& typeId,
160 const QString& objectName,
161 const QString& description,
162 const istd::IChangeable* defaultDataPtr =
nullptr)
const = 0;
167 virtual QByteArray
ImportObject(
const QByteArray& typeId,
const QString& sourcePath = QString())
const = 0;
172 virtual bool ExportObject(
const QByteArray& objectId,
const QString& targetPath = QString())
const = 0;
177 virtual void RemoveObjects(
const imtbase::ICollectionInfo::Ids& objectIds)
const = 0;
182 virtual bool UpdateObject(
const QByteArray& objectId,
const istd::IChangeable& contents)
const = 0;
188 virtual QString
RenameObject(
const QByteArray& objectId,
const QString& newName)
const = 0;
201 virtual bool GetSummaryInformation(
202 const QByteArray& objectId,
203 const QVector<QByteArray>& fieldIds,
214 virtual bool OpenDocumentEditor(
const QByteArray& objectId,
const QByteArray& viewTypeId = QByteArray())
const = 0;
virtual QByteArray GetSupportedTypeId() const =0
virtual bool ExportObject(const QByteArray &objectId, const QString &targetPath=QString()) const =0
virtual bool InitializeDelegate(imtbase::IObjectCollection *collectionPtr, iqtgui::IGuiObject *parentGuiPtr, const iprm::IParamsSet *filterParamsPtr)=0
virtual bool UpdateObject(const QByteArray &objectId, const istd::IChangeable &contents) const =0
virtual const iqtgui::IVisualStatus & GetDocumentTypeStatus() const =0
virtual void UpdateItemSelection(const imtbase::ICollectionInfo::Ids &selectedItems, const QByteArray &selectedTypeId)=0
virtual bool OpenDocumentEditor(const QByteArray &objectId, const QByteArray &viewTypeId=QByteArray()) const =0
virtual QString RenameObject(const QByteArray &objectId, const QString &newName) const =0
virtual QByteArray ImportObject(const QByteArray &typeId, const QString &sourcePath=QString()) const =0
virtual void RemoveObjects(const imtbase::ICollectionInfo::Ids &objectIds) const =0
virtual bool IsCommandSupported(int commandId) const =0
virtual bool IsEditorEnabled(const QByteArray &columnId) const =0
virtual iqtgui::IGuiObject * GetInformationView() const =0
virtual const imtbase::ICollectionInfo & GetSummaryInformationTypes() const =0
virtual QAbstractItemDelegate * GetColumnItemDelegate(const QByteArray &columnId) const =0
QVector< ICollectionViewDelegate::SummaryInformation > ObjectMetaInfo
virtual void OnColumnItemDelegateEditFinished(const QByteArray &objectId, const QByteArray &columnId, const QVariant &newValue) const =0
virtual QByteArray CreateNewObject(const QByteArray &typeId, const QString &objectName, const QString &description, const istd::IChangeable *defaultDataPtr=nullptr) const =0
virtual void SetupContextMenu(QMenu &menu) const =0
virtual HeaderInfo GetSummaryInformationHeaderInfo(const QByteArray &informationId) const =0