SARibbon 2.5.2
SARibbon wiki
载入中...
搜索中...
未找到
SARibbonCustomizeWidget.h
1#ifndef SARIBBONCUSTOMIZEWIDGET_H
2#define SARIBBONCUSTOMIZEWIDGET_H
3#include "SARibbonGlobal.h"
4#include <QWidget>
5#include "SARibbonActionsManager.h"
6#include "SARibbonPanel.h"
7#include "SARibbonCustomizeData.h"
8
9// SARibbonCustomizeWidget 特有
12class SARibbonBar;
13//
14class QStandardItemModel;
15class QStandardItem;
16class QAbstractButton;
17//
18class QXmlStreamWriter;
19class QXmlStreamReader;
20
36class SA_RIBBON_EXPORT SARibbonCustomizeWidget : public QWidget
37{
38 Q_OBJECT
39 SA_RIBBON_DECLARE_PRIVATE(SARibbonCustomizeWidget)
40public:
42 explicit SARibbonCustomizeWidget(SARibbonMainWindow* ribbonWindow,
43 QWidget* parent = nullptr,
44 Qt::WindowFlags f = Qt::WindowFlags());
46 explicit SARibbonCustomizeWidget(SARibbonBar* ribbonbar,
47 QWidget* parent = nullptr,
48 Qt::WindowFlags f = Qt::WindowFlags());
50
61 {
63 ShowMainCategory
64 };
65
76 {
77 LevelRole = Qt::UserRole + 1,
78 PointerRole = Qt::UserRole + 2,
79 CanCustomizeRole = Qt::UserRole + 3,
80 CustomizeRole = Qt::UserRole + 4,
81 CustomizeObjNameRole = Qt::UserRole + 5
82 };
83
85 void setupActionsManager(SARibbonActionsManager* mgr);
86
88 bool isApplied() const;
89
91 bool isCached() const;
92
94 const QStandardItemModel* model() const;
95
97 void updateModel();
98
100 void updateModel(RibbonTreeShowType type);
101
103 bool applys();
104
106 bool toXml(QXmlStreamWriter* xml) const;
108 bool toXml(const QString& xmlpath) const;
109
111 void fromXml(QXmlStreamReader* xml);
113 void fromXml(const QString& xmlpath);
114
116 static bool fromXml(QXmlStreamReader* xml, SARibbonBar* bar, SARibbonActionsManager* mgr);
117
119 void makeActionsApplied();
120
122 void clearApplied();
124 void clearCache();
126 void clear();
127
128protected:
130 void simplify();
131
133 SARibbonPanelItem::RowProportion selectedRowProportion() const;
134
136 QAction* selectedAction() const;
138 QAction* itemToAction(QStandardItem* item) const;
139
141 QStandardItem* selectedItem() const;
142
144 int selectedRibbonLevel() const;
145
147 int itemLevel(QStandardItem* item) const;
148
150 void setSelectItem(QStandardItem* item, bool ensureVisible = true);
151
153 bool isItemCanCustomize(QStandardItem* item) const;
154 bool isSelectedItemCanCustomize() const;
155
157 bool isCustomizeItem(QStandardItem* item) const;
158 bool isSelectedItemIsCustomize() const;
159
161 void removeItem(QStandardItem* item);
162
163private Q_SLOTS:
164 void onComboBoxActionIndexCurrentIndexChanged(int index);
165 void onRadioButtonGroupButtonClicked(QAbstractButton* b);
166 void onPushButtonNewCategoryClicked();
167 void onPushButtonNewPanelClicked();
168 void onPushButtonRenameClicked();
169 void onPushButtonAddClicked();
170 void onPushButtonDeleteClicked();
171 void onListViewSelectClicked(const QModelIndex& index);
172 void onTreeViewResultClicked(const QModelIndex& index);
173 void onToolButtonUpClicked();
174 void onToolButtonDownClicked();
175 void onItemChanged(QStandardItem* item);
176 void onLineEditSearchActionTextEdited(const QString& text);
177 void onPushButtonResetClicked();
178
179private:
180 void init(SARibbonBar* ribbonbar);
181 void initConnection();
182
183private:
185};
186
204bool SA_RIBBON_EXPORT sa_customize_datas_to_xml(QXmlStreamWriter* xml, const QList< SARibbonCustomizeData >& cds);
205
221QList< SARibbonCustomizeData > SA_RIBBON_EXPORT sa_customize_datas_from_xml(QXmlStreamReader* xml,
223
239int SA_RIBBON_EXPORT sa_customize_datas_apply(const QList< SARibbonCustomizeData >& cds, SARibbonBar* w);
240
256int SA_RIBBON_EXPORT sa_customize_datas_reverse(const QList< SARibbonCustomizeData >& cds, SARibbonBar* w);
257
277bool SA_RIBBON_EXPORT sa_apply_customize_from_xml_file(const QString& filePath, SARibbonBar* bar, SARibbonActionsManager* mgr);
278
279#endif // SARIBBONCUSTOMIZEWIDGET_H
Definition SARibbonActionsManager.h:29
Definition SARibbonBar.h:171
Definition SARibbonCustomizeWidget.cpp:168
Definition SARibbonCustomizeWidget.h:37
ItemRole
Definition SARibbonCustomizeWidget.h:76
RibbonTreeShowType
Definition SARibbonCustomizeWidget.h:61
@ ShowAllCategory
Show all categories including context categories
Definition SARibbonCustomizeWidget.h:62
Definition SARibbonMainWindow.h:86
RowProportion
Definition SARibbonPanelItem.h:37