You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
64 lines
1.5 KiB
C++
64 lines
1.5 KiB
C++
#ifndef SARIBBONGALLERYITEM_H
|
|
#define SARIBBONGALLERYITEM_H
|
|
#include "SARibbonGlobal.h"
|
|
#include <QIcon>
|
|
#include <QVariant>
|
|
#include <QMap>
|
|
#include <QAction>
|
|
class SARibbonGalleryGroup;
|
|
|
|
///
|
|
/// \brief 类似QStandardItem的GalleryItem
|
|
///
|
|
class SA_RIBBON_EXPORT SARibbonGalleryItem
|
|
{
|
|
public:
|
|
SARibbonGalleryItem();
|
|
SARibbonGalleryItem(const QString& text, const QIcon& icon);
|
|
SARibbonGalleryItem(QAction* act);
|
|
virtual ~SARibbonGalleryItem();
|
|
// 设置角色
|
|
void setData(int role, const QVariant& data);
|
|
virtual QVariant data(int role) const;
|
|
|
|
// 设置文字描述
|
|
void setText(const QString& text);
|
|
QString text() const;
|
|
|
|
// 设置tooltip
|
|
void setToolTip(const QString& text);
|
|
QString toolTip() const;
|
|
|
|
// 设置图标
|
|
void setIcon(const QIcon& ico);
|
|
QIcon icon() const;
|
|
|
|
// 设置是否可见
|
|
bool isSelectable() const;
|
|
void setSelectable(bool isSelectable);
|
|
|
|
// 设置是否可选
|
|
bool isEnable() const;
|
|
void setEnable(bool isEnable);
|
|
|
|
// 设置item的flag
|
|
void setFlags(Qt::ItemFlags flag);
|
|
virtual Qt::ItemFlags flags() const;
|
|
|
|
// 设置action
|
|
void setAction(QAction* act);
|
|
QAction* action();
|
|
|
|
// 文字对齐方式
|
|
void setTextAlignment(Qt::Alignment a);
|
|
Qt::Alignment textAlignment() const;
|
|
|
|
private:
|
|
friend class SARibbonGalleryGroupModel;
|
|
QMap< int, QVariant > m_datas;
|
|
Qt::ItemFlags m_flags;
|
|
QAction* m_action;
|
|
};
|
|
|
|
#endif // SARIBBONGALLERYITEM_H
|