QtCanpool 3.3.0
载入中...
搜索中...
未找到
ribbongallerygroup_p.h
浏览该文件的文档.
1
5#pragma once
6
7#include "qxribbon_global.h"
8
9#include <QAction>
10#include <QIcon>
11#include <QMap>
12#include <QVariant>
13#include <QList>
14#include <QListView>
15#include <QStyledItemDelegate>
16
18
19class RibbonGalleryItemPrivate;
20
22{
23public:
25 RibbonGalleryItem(const QString &text, const QIcon &icon);
26 RibbonGalleryItem(QAction *act);
27 virtual ~RibbonGalleryItem();
28
29 void setData(int role, const QVariant &data);
30 virtual QVariant data(int role) const;
31
32 void setText(const QString &text);
33 QString text() const;
34
35 void setToolTip(const QString &text);
36 QString toolTip() const;
37
38 void setIcon(const QIcon &ico);
39 QIcon icon() const;
40
41 bool isSelectable() const;
42 void setSelectable(bool isSelectable);
43
44 bool isEnable() const;
45 void setEnable(bool isEnable);
46
47 void setFlags(Qt::ItemFlags flag);
48 virtual Qt::ItemFlags flags() const;
49
50 void setAction(QAction *act);
51 QAction *action();
52
53 void setTextAlignment(Qt::Alignment a);
54 Qt::Alignment textAlignment() const;
55private:
56 RibbonGalleryItemPrivate *d;
57};
58
59/* RibbonGalleryGroupItemDelegate */
61class RibbonGalleryGroupItemDelegate : public QStyledItemDelegate
62{
63public:
65
66 virtual void paint(QPainter *painter, const QStyleOptionViewItem &option,
67 const QModelIndex &index) const Q_DECL_OVERRIDE;
68
69 virtual QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const Q_DECL_OVERRIDE;
70 virtual void paintIconOnly(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const;
71 virtual void paintIconWithText(QPainter *painter, const QStyleOptionViewItem &option,
72 const QModelIndex &index) const;
73 virtual void paintIconWithTextWordWrap(QPainter *painter, const QStyleOptionViewItem &option,
74 const QModelIndex &index) const;
75private:
76 RibbonGalleryGroup *m_group;
77};
78
79/* RibbonGalleryGroupModel */
80class RibbonGalleryGroupModel : public QAbstractListModel
81{
82 Q_OBJECT
83public:
84 explicit RibbonGalleryGroupModel(QObject *parent = Q_NULLPTR);
86
87 virtual int rowCount(const QModelIndex &parent) const Q_DECL_OVERRIDE;
88 virtual Qt::ItemFlags flags(const QModelIndex &index) const Q_DECL_OVERRIDE;
89 virtual QVariant data(const QModelIndex &index, int role) const Q_DECL_OVERRIDE;
90 virtual QModelIndex index(int row, int column, const QModelIndex &parent) const Q_DECL_OVERRIDE;
91 virtual bool setData(const QModelIndex &index, const QVariant &value, int role) Q_DECL_OVERRIDE;
92 void clear();
93 RibbonGalleryItem *at(int row) const;
94 void insert(int row, RibbonGalleryItem *item);
95 RibbonGalleryItem *take(int row);
96 void append(RibbonGalleryItem *item);
97private:
98 QList<RibbonGalleryItem *> m_items;
99};
100
#define Q_NULLPTR
Copyleft (C) 2025 maminjie canpool@163.com SPDX-License-Identifier: MulanPSL-2.0
#define QX_RIBBON_END_NAMESPACE
#define QX_RIBBON_BEGIN_NAMESPACE
QColor text