Continues migration with DDS, Common
This commit is contained in:
1 parent
9b15cee841
commit
fa48db111e
668 files changed
+111841
-2
No files matched your search
Executable
+246
@@ -0,0 +1,246 @@
|
||||
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "lts_base.h"
|
||||
#include "lts_drop_handler.h"
|
||||
#include "lts_widgets_export.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QIcon>
|
||||
#include <QWidget>
|
||||
|
||||
|
||||
class QButtonGroup;
|
||||
class QHBoxLayout;
|
||||
class QLabel;
|
||||
class QMenu;
|
||||
|
||||
namespace LtsWidgets {
|
||||
|
||||
class LtsToolButton;
|
||||
|
||||
|
||||
|
||||
class LTSWIDGETS_EXPORT LtsDragIcon : public QWidget
|
||||
{
|
||||
public:
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString text READ text WRITE setText)
|
||||
Q_PROPERTY(QString context READ context WRITE setContext)
|
||||
Q_PROPERTY(QString identifier READ identifier WRITE setIdentifier)
|
||||
Q_PROPERTY(QIcon icon READ icon WRITE setIcon)
|
||||
Q_PROPERTY(LtsWidgets::Designer::ButtonSize eButtonSize READ iconSizeDesigner WRITE setIconSizeDesigner)
|
||||
Q_PROPERTY(bool eForceFixedSize READ isForceFixedSize WRITE setForceFixedSize)
|
||||
Q_PROPERTY(bool isCheckable READ isCheckable WRITE setCheckable)
|
||||
Q_PROPERTY(bool isChecked READ isChecked WRITE setChecked)
|
||||
Q_PROPERTY(bool showDragIcon READ showDragIcon WRITE setShowDragIcon)
|
||||
Q_PROPERTY(bool isDraggable READ isDraggable WRITE setDraggable)
|
||||
|
||||
|
||||
|
||||
Q_PROPERTY(LtsWidgets::Designer::ButtonStyle eStyle READ buttonStyleDesigner WRITE setButtonStyleDesigner)
|
||||
|
||||
|
||||
|
||||
|
||||
void setButtonStyleDesigner(Designer::ButtonStyle t) { setButtonStyle(static_cast<ButtonStyle>(t)); }
|
||||
|
||||
|
||||
|
||||
Designer::ButtonStyle buttonStyleDesigner() const { return static_cast<Designer::ButtonStyle>(buttonStyle()); }
|
||||
|
||||
|
||||
|
||||
void setIconSizeDesigner(Designer::ButtonSize t) { setIconSize(static_cast<ButtonSize>(t)); }
|
||||
|
||||
|
||||
|
||||
Designer::ButtonSize iconSizeDesigner() const { return static_cast<Designer::ButtonSize>(iconSize()); }
|
||||
|
||||
public:
|
||||
|
||||
|
||||
explicit LtsDragIcon(QWidget *parent);
|
||||
|
||||
virtual ~LtsDragIcon() = default;
|
||||
|
||||
|
||||
|
||||
void setMenu(QMenu *menu);
|
||||
|
||||
|
||||
|
||||
QMenu* menu() const;
|
||||
|
||||
|
||||
|
||||
void setText(const QString &text);
|
||||
|
||||
|
||||
|
||||
QString text() const { return m_text; }
|
||||
|
||||
|
||||
|
||||
void setContext(const QString &context);
|
||||
|
||||
|
||||
|
||||
QString context() const { return m_context; }
|
||||
|
||||
|
||||
|
||||
void setCheckable(bool checkable);
|
||||
|
||||
|
||||
|
||||
bool isCheckable();
|
||||
|
||||
|
||||
|
||||
|
||||
void setDraggable(bool draggable);
|
||||
|
||||
|
||||
|
||||
bool isDraggable() const { return m_isDraggable; }
|
||||
|
||||
|
||||
|
||||
void setChecked(bool checked);
|
||||
|
||||
|
||||
|
||||
bool isChecked() const;
|
||||
|
||||
|
||||
|
||||
void setShowDragIcon(bool showDragIcon) { m_showDragIcon = showDragIcon; }
|
||||
bool showDragIcon() const { return m_showDragIcon; }
|
||||
|
||||
|
||||
|
||||
void setSameWidgetDrop(bool drop);
|
||||
|
||||
|
||||
|
||||
bool sameWidgetDrop() const;
|
||||
|
||||
|
||||
|
||||
void setButtonStyle(ButtonStyle style);
|
||||
|
||||
|
||||
|
||||
ButtonStyle buttonStyle() const { return m_style; }
|
||||
|
||||
|
||||
|
||||
void setIconSize(ButtonSize buttonSize);
|
||||
|
||||
|
||||
|
||||
ButtonSize iconSize() const { return m_buttonSize; }
|
||||
|
||||
|
||||
|
||||
void setButtonVisible(bool visible);
|
||||
|
||||
|
||||
|
||||
bool buttonVisible() const;
|
||||
|
||||
|
||||
|
||||
void setIcon(const QIcon &icon);
|
||||
|
||||
|
||||
|
||||
QIcon icon() const { return m_icon; }
|
||||
|
||||
|
||||
|
||||
void setForceFixedSize(bool force);
|
||||
|
||||
|
||||
|
||||
bool isForceFixedSize() const { return m_forceFixedSize; }
|
||||
|
||||
|
||||
|
||||
void setAction(QAction *action);
|
||||
|
||||
|
||||
|
||||
void addToButtonGroup(QButtonGroup *btnGrp, int btnGrpId);
|
||||
|
||||
|
||||
|
||||
void setDropHandlerKey(qulonglong key) { m_dropHandlerKey = key; }
|
||||
|
||||
|
||||
|
||||
void addMimeData(const QString &mimeType, const QByteArray &data);
|
||||
bool removeMimeData(const QString &mimeType);
|
||||
void removeAllMimeData();
|
||||
|
||||
|
||||
|
||||
void setAcceptDrops(bool on);
|
||||
|
||||
qulonglong dropHandlerKey() const { return m_dropHandlerKey; }
|
||||
|
||||
|
||||
void setIdentifier(const QString &id) { m_identifier = id; }
|
||||
QString identifier() const { return m_identifier; }
|
||||
|
||||
void setModification(const QString &id) { m_modification = id; setIcon(m_icon); }
|
||||
QString modification() const { return m_modification; }
|
||||
void removeModification() { m_modification = QString(); setIcon(m_icon);}
|
||||
|
||||
signals:
|
||||
|
||||
|
||||
void clicked();
|
||||
|
||||
|
||||
|
||||
void toggled(bool);
|
||||
void newDropEvent(QDropEvent *e);
|
||||
void dropSuc();
|
||||
|
||||
void enabledChanged(bool);
|
||||
|
||||
protected:
|
||||
void dragEnterEvent(QDragEnterEvent *e) override;
|
||||
void dropEvent(QDropEvent *e) override;
|
||||
void initButton();
|
||||
|
||||
private:
|
||||
void setStyleToButton();
|
||||
QIcon modifyIcon(const QIcon &icon);
|
||||
void generateToolTip();
|
||||
|
||||
protected slots:
|
||||
void changeEvent(QEvent *event) override;
|
||||
|
||||
private:
|
||||
QHBoxLayout *m_lay;
|
||||
LtsToolButton *m_toolButton;
|
||||
QIcon m_icon;
|
||||
QLabel *m_dragLabel;
|
||||
QString m_text;
|
||||
QString m_identifier;
|
||||
QString m_modification;
|
||||
ButtonStyle m_style;
|
||||
bool m_forceFixedSize;
|
||||
bool m_isDraggable;
|
||||
qulonglong m_dropHandlerKey;
|
||||
ButtonSize m_buttonSize;
|
||||
bool m_showDragIcon;
|
||||
QString m_context;
|
||||
};
|
||||
|
||||
}
|
||||
Reference in new issue
Block a user