logplus/DataMgr/src/dataslothelper.h

80 lines
2.1 KiB
C
Raw Normal View History

2025-11-26 12:54:49 +08:00
#ifndef DATASLOTHELPER_H
#define DATASLOTHELPER_H
#include <QObject>
#include <QTableWidget>
class PinkTableData
{
public:
explicit PinkTableData();
PinkTableData(const QTableWidgetSelectionRange &range,const QList<QStringList> &rowdata);
PinkTableData( const PinkTableData & other);
~PinkTableData();
PinkTableData operator =(const PinkTableData &other);
QTableWidgetSelectionRange m_Range;
QList<QStringList> m_rowData;
};
class DataSlotHelper : public QObject
{
Q_OBJECT
public:
~DataSlotHelper();
static DataSlotHelper *instance();
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
void movedUp(QTableWidget *table);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>
void movedDow(QTableWidget *table);
private:
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QStringList tableRowData(QTableWidget* table,int row);
//ʰȡ<CAB0><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void pickTableRangeData(QTableWidget* table
,QList<PinkTableData> &rangeData);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݸı<DDB8> isUp <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ϣ<EFBFBD>moveFixed<65>Ƿ<EFBFBD><C7B7><EFBFBD>ͷ<EFBFBD>̶<EFBFBD>ģʽ
void tableSelectionRangeChange(QTableWidget *table,bool isUp,bool &moveFixed);
//ѡ<><D1A1><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD>Χ
void rangeMoveRow(int &beginRow,int &endRow,int rowCount,bool isUp,bool &moveFixed);
//<2F><><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD>ԭʼ<D4AD><CABC><EFBFBD>ݺ<EFBFBD><DDBA>ƶ<EFBFBD><C6B6><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void swapSelRowMoveRow(bool isUp);
//ˢ<><CBA2><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD><EFBFBD>
void updateMoveRowData(QTableWidget* table);
//ˢ<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void updateRowsData(QTableWidget* table,const QList<PinkTableData> &data);
//ˢ<>±<EFBFBD><C2B1><EFBFBD><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD>
void updateTableView(QTableWidget *table,const QStringList& rowsData,int row);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݺͷ<DDBA>Χ
void pinkTableDataRanges(const QList<PinkTableData> &pinkData,
QList<QTableWidgetSelectionRange> &ranges,QList< QList<QStringList> > &rowsData);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void resetNewDaataRow(QList< QList<QStringList> > & restDataRow,bool isUp);
//<2F><><EFBFBD><EFBFBD>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void resetRangeSelection(QTableWidget* table);
//<2F>ϲ<EFBFBD><CFB2><EFBFBD>ѡ<EFBFBD><D1A1>
void megerRange(QList<QTableWidgetSelectionRange> &rangeLst,const QList<QTableWidgetSelectionRange> &selRanges);
private:
explicit DataSlotHelper(QObject *parent=NULL);
class GC{
public:
~GC();
};
private:
static DataSlotHelper *p_helper;
GC m_gc;
//Դ<><D4B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QList<PinkTableData> m_sourceRowsData;
//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
QList<PinkTableData> m_descRowsData;
};
#endif // DATASLOTHELPER_H