Plasma Engine  2.0
Loading...
Searching...
No Matches
AssetBrowserView.moc.h
1#pragma once
2
3#include <EditorFramework/EditorFrameworkDLL.h>
4#include <GuiFoundation/UIServices/ImageCache.moc.h>
5#include <GuiFoundation/Widgets/ItemView.moc.h>
6#include <QItemDelegate>
7#include <QListView>
8#include <EditorFramework/Assets/AssetBrowserFolderView.moc.h>
9
11
12class plQtAssetBrowserView : public plQtItemView<QListView>
13{
14 Q_OBJECT
15
16public:
17 plQtAssetBrowserView(QWidget* pParent);
18 void SetDialogMode(bool bDialogMode);
19
20 void SetIconMode(bool bIconMode);
21 void SetIconScale(plInt32 iIconSizePercentage);
22 plInt32 GetIconScale() const;
23
24 void dragEnterEvent(QDragEnterEvent* event) override;
25 void dragMoveEvent(QDragMoveEvent* event) override;
26 void dragLeaveEvent(QDragLeaveEvent* event) override;
27 void dropEvent(QDropEvent* event) override;
28
29Q_SIGNALS:
30 void ViewZoomed(plInt32 iIconSizePercentage);
31
32protected:
33 virtual void wheelEvent(QWheelEvent* pEvent) override;
34 virtual void mousePressEvent(QMouseEvent* pEvent) override;
35 virtual void mouseDoubleClickEvent(QMouseEvent* pEvent) override;
36 virtual void mouseMoveEvent(QMouseEvent* pEvent) override;
37
38private:
39 bool m_bDialogMode;
40 plQtIconViewDelegate* m_pDelegate;
41 plInt32 m_iIconSizePercentage;
42};
43
44
46{
47 Q_OBJECT
48
49public:
51
52 void SetDrawTransformState(bool b) { m_bDrawTransformState = b; }
53
54 void SetIconScale(plInt32 iIconSizePercentage);
55
56 virtual bool mousePressEvent(QMouseEvent* pEvent, const QStyleOptionViewItem& option, const QModelIndex& index) override;
57 virtual bool mouseReleaseEvent(QMouseEvent* pEvent, const QStyleOptionViewItem& option, const QModelIndex& index) override;
58
59
60public:
61 virtual void paint(QPainter* pPainter, const QStyleOptionViewItem& opt, const QModelIndex& index) const override;
62 virtual QSize sizeHint(const QStyleOptionViewItem& opt, const QModelIndex& index) const override;
63 virtual QWidget* createEditor(QWidget* pParent, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
64 virtual void setModelData(QWidget* pEditor, QAbstractItemModel* pModel, const QModelIndex& index) const override;
65 virtual void updateEditorGeometry(QWidget* pEditor, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
66
67private:
68 QSize ItemSize() const;
69 QFont GetFont() const;
70 plUInt32 ThumbnailSize() const;
71 bool IsInIconMode() const;
72
73private:
74 enum
75 {
76 MaxSize = plThumbnailSize,
77 HighlightBorderWidth = 3,
78 ItemSideMargin = 5,
79 TextSpacing = 5
80 };
81
82 bool m_bDrawTransformState;
83 plInt32 m_iIconSizePercentage;
84 plQtAssetBrowserView* m_pView;
85};
Definition AssetBrowserView.moc.h:13
Definition AssetBrowserView.moc.h:46
In combination with plQtItemView this delegate allows for receiving the full range of mouse input.
Definition ItemView.moc.h:12
Template to be used with classes derived from QAbstractItemView. Allows the use of plQtItemDelegate.
Definition ItemView.moc.h:30