5#ifndef ABSTRACTWIDGETBOX_H
6#define ABSTRACTWIDGETBOX_H
8#include <QtDesigner/sdk_global.h>
10#include <QtCore/qshareddata.h>
11#include <QtCore/qmetatype.h>
12#include <QtWidgets/qwidget.h>
13#include <QtGui/qicon.h>
18class QDesignerDnDItemInterface;
26 class QDESIGNER_SDK_EXPORT Widget
29 enum Type { Default, Custom };
30 Widget(
const QString &aname = QString(),
const QString &xml = QString(),
31 const QString &icon_name = QString(), Type atype = Default);
33 Widget(
const Widget &w);
34 Widget &operator=(
const Widget &w);
37 void setName(
const QString &aname);
38 QString domXml()
const;
39 void setDomXml(
const QString &xml);
40 QString iconName()
const;
41 void setIconName(
const QString &icon_name);
43 void setType(Type atype);
48 QSharedDataPointer<QDesignerWidgetBoxWidgetData> m_data;
51 using WidgetList = QList<Widget>;
56 enum Type { Default, Scratchpad };
58 Category(
const QString &aname = QString(), Type atype = Default)
59 : m_name(aname), m_type(atype) {}
61 QString name()
const {
return m_name; }
62 void setName(
const QString &aname) { m_name = aname; }
63 int widgetCount()
const {
return int(m_widget_list.size()); }
64 Widget widget(
int idx)
const {
return m_widget_list.at(idx); }
65 void removeWidget(
int idx) { m_widget_list.removeAt(idx); }
66 void addWidget(
const Widget &awidget) { m_widget_list.append(awidget); }
67 Type type()
const {
return m_type; }
68 void setType(Type atype) { m_type = atype; }
70 bool isNull()
const {
return m_name.isEmpty(); }
75 WidgetList m_widget_list;
78 using CategoryList = QList<Category>;
80 explicit QDesignerWidgetBoxInterface(QWidget *parent =
nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
81 ~QDesignerWidgetBoxInterface() override;
83 virtual int categoryCount()
const = 0;
84 virtual Category category(
int cat_idx)
const = 0;
85 virtual void addCategory(
const Category &cat) = 0;
86 virtual void removeCategory(
int cat_idx) = 0;
88 virtual int widgetCount(
int cat_idx)
const = 0;
89 virtual Widget widget(
int cat_idx,
int wgt_idx)
const = 0;
90 virtual void addWidget(
int cat_idx,
const Widget &wgt) = 0;
91 virtual void removeWidget(
int cat_idx,
int wgt_idx) = 0;
93 int findOrInsertCategory(
const QString &categoryName);
95 virtual void dropWidgets(
const QList<QDesignerDnDItemInterface*> &item_list,
96 const QPoint &global_mouse_pos) = 0;
98 virtual void setFileName(
const QString &file_name) = 0;
99 virtual QString fileName()
const = 0;
100 virtual bool load() = 0;
101 virtual bool save() = 0;
QDesignerIntegrationInterfacePrivate(QDesignerFormEditorInterface *core)
QDesignerFormEditorInterface * m_core
The QDesignerIntegrationInterface glues together parts of \QD and allows for overwriting functionalit...
The QDesignerIntegration class is \QD's implementation of QDesignerIntegrationInterface.
virtual QString propertyGroup(int index) const =0
virtual int indexOf(const QString &name) const =0
static void restoreState(QtGradientManager *manager, const QString &state)
void getSelection(qdesigner_internal::Selection &s)
static void initializePlugins(QDesignerFormEditorInterface *formEditor)
QString contextHelpId() const
QDesignerIntegrationInterface::Feature m_features
void setupFormWindow(QDesignerFormWindowInterface *formWindow)
void addDynamicProperty(const QString &name, const QVariant &value)
QDesignerIntegrationPrivate(QDesignerIntegration *qq)
QObject * propertyEditorObject()
void updateCustomWidgetPlugins()
QWidget * containerWindow(QWidget *widget) const
QtGradientManager * m_gradientManager
void updateProperty(const QString &name, const QVariant &value, bool enableSubPropertyHandling)
QDesignerIntegrationInterface::ResourceFileWatcherBehaviour m_resourceFileWatcherBehaviour
void removeDynamicProperty(const QString &name)
void resetProperty(const QString &name)
Combined button and popup list for selecting options.
Auxiliary methods to store/retrieve settings.
static QString fixHelpClassName(const QString &className)
static QString classForProperty(QDesignerFormEditorInterface *core, QObject *object, const QString &property)
QT_END_NAMESPACE Q_DECLARE_METATYPE(QT_PREPEND_NAMESPACE(QtOhos::enums::kit::ShareKit::systemShare::SelectionMode))