feat: 添加ElaWidgetTool库

This commit is contained in:
sleepwithoutbz
2025-09-19 22:40:52 +08:00
parent 5f93e8caf6
commit 4eef5c7fd5
407 changed files with 36325 additions and 7 deletions

View File

@@ -0,0 +1,86 @@
#ifndef ELACOLORDIALOGPRIVATE_H
#define ELACOLORDIALOGPRIVATE_H
#include <QModelIndex>
#include <QObject>
#include <QPixmap>
#include "ElaDef.h"
class ElaAppBar;
class ElaColorDialog;
class ElaColorPicker;
class ElaBaseListView;
class ElaColorDisplayModel;
class ElaColorDisplayDelegate;
class ElaColorPreview;
class ElaLineEdit;
class ElaComboBox;
class ElaText;
class ElaPushButton;
class ElaToolButton;
class QSlider;
class ElaColorValueSliderStyle;
class ElaColorDialogPrivate : public QObject
{
Q_OBJECT
Q_D_CREATE(ElaColorDialog)
Q_PROPERTY_CREATE_D(QColor, CurrentColor)
public:
explicit ElaColorDialogPrivate(QObject* parent = nullptr);
~ElaColorDialogPrivate();
Q_SLOT void onColorPickerColorChanged(QColor selectedColor);
Q_SLOT void onColorValueSliderChanged(int value);
Q_SLOT void onColorModeChanged(int index);
Q_SLOT void onHtmlEditFocusOut(QString text);
Q_SLOT void onHtmlEditChanged(const QString& text);
Q_SLOT void onColorEditChanged(const QString& text);
Q_SLOT void onBasicColorViewClicked(const QModelIndex& index);
Q_SLOT void onCustomColorViewClicked(const QModelIndex& index);
Q_SLOT void onAddCustomColorButtonClicked();
Q_SLOT void onRemoveCustomColorButtonClicked();
private:
ElaThemeType::ThemeMode _themeMode;
ElaAppBar* _appBar{nullptr};
ElaColorPicker* _colorPicker{nullptr};
ElaColorPreview* _colorPreview{nullptr};
QSlider* _colorValueSlider{nullptr};
ElaColorValueSliderStyle* _colorValueSliderStyle{nullptr};
ElaLineEdit* _htmlEdit{nullptr};
ElaComboBox* _modeComboBox{nullptr};
ElaLineEdit* _firstEdit{nullptr};
ElaLineEdit* _secondEdit{nullptr};
ElaLineEdit* _thridEdit{nullptr};
ElaText* _firstText{nullptr};
ElaText* _secondText{nullptr};
ElaText* _thridText{nullptr};
ElaBaseListView* _basicColorView{nullptr};
ElaColorDisplayModel* _basicColorModel{nullptr};
ElaColorDisplayDelegate* _basicColorDelegate{nullptr};
ElaToolButton* _addCustomColorButton{nullptr};
ElaToolButton* _removeCustomColorButton{nullptr};
ElaBaseListView* _customColorView{nullptr};
ElaColorDisplayModel* _customColorModel{nullptr};
ElaColorDisplayDelegate* _customColorDelegate{nullptr};
ElaPushButton* _overButton{nullptr};
ElaPushButton* _cancelButton{nullptr};
void _initBasicColor();
void _initCustomColor();
void _updateHtmlEditValue();
void _updateEditValue();
void _updateColorPreview();
void _updateColorValueSlider();
QString _completeColorText(QString text) const;
QString _getHexRgbValue() const;
QColor _getColorFromEdit() const;
};
#endif // ELACOLORDIALOGPRIVATE_H