Files
VX5_KRO_GearPump/scene/ScheduleShiftsEditor.h
T
2026-05-25 15:58:11 +08:00

65 lines
1.6 KiB
C++

#ifndef SCHEDULESHIFTSEDITOR_H
#define SCHEDULESHIFTSEDITOR_H
#include <QWidget>
#include <QTime>
#include <QTimeEdit>
#include <QStandardItemModel>
#include "PicScheduleShiftItem.h"
#include "ItemGeneralSettings.h"
namespace Ui {
class ScheduleShiftsEditor;
}
/**
* @brief 重写实现以实现一个自定义的QTimeEdit组件,用于选择时间时,点击时间选择器的部分时,能够选中所选的部分,而不仅仅是移动光标
*/
class SelectedStyleTimeEdit : public QTimeEdit
{
Q_OBJECT
public:
SelectedStyleTimeEdit(QWidget *parent = nullptr);
virtual ~SelectedStyleTimeEdit();
protected:
bool eventFilter(QObject *obj, QEvent *event) override;
};
class ScheduleShiftsEditor : public QWidget
{
Q_OBJECT
public:
explicit ScheduleShiftsEditor(QWidget *parent = nullptr);
~ScheduleShiftsEditor();
void setItemModel(QVector<ScheduleModel> schedulesModel, TextItemModel txtModel);
TextItemModel textItemModel();
const QVector<ScheduleModel>& scheduleModel() const;
signals:
void accepted();
void rejected();
private slots:
void onBtnOkClicked();
void onBtnCloseClicked();
void onBtnAddClicked();
void onBtnRemoveClicked();
void onTableSelectionChanged();
void btnAddEnbCheck(const QString& txt);
private:
void applyDataModel();
void applyStyleSheet();
Ui::ScheduleShiftsEditor *ui;
QVector<ScheduleModel> m_dataModel;
ItemGeneralSettings* m_generalSettings = nullptr;
};
#endif // SCHEDULESHIFTSEDITOR_H