logplus/logPlus/formhead.h

86 lines
1.9 KiB
C++

#ifndef FORMHEAD_H
#define FORMHEAD_H
#include <QWidget>
#include <QTableWidgetItem>
#include "formmultiheads.h"
#pragma execution_character_set("utf-8")
namespace Ui {
class FormHead;
}
class FormHead : public QWidget
{
Q_OBJECT
public:
explicit FormHead(QWidget *parent = nullptr, QString indexID="");
~FormHead();
private:
Ui::FormHead *ui;
protected:
//支持复制粘贴,暂时还未实现
void keyPressEvent(QKeyEvent * e);
public:
//图头
bool eventFilter(QObject* obj, QEvent* event);
void onPasteExcelData();
public:
QString m_indexID;
int m_iRows;
int m_iCols;
bool m_bRefresh=true;
FormMultiHeads *m_parent;
public:
void loadStyle(const QString &qssFile);
void Init(int iRows, int iCols);
//更新
void updateJsonInfo(QJsonObject headObjInfo);
//展示所有单元格
void DisplayItems(QJsonArray tracksArray);
//图例
void ChangHeadItemProperty(int iRow, int iCol, QString imagePath, int colWidth, int rowHeight);
void resizeEvent(QResizeEvent *event);
QJsonObject makeJson();
public slots:
void resizeWindow(bool bDelete=false);
//
void slotItemClicked(QTableWidgetItem* item);
void onItemChanged(QTableWidgetItem* item);
void onItemSelectionChanged();
//图头、成果表
//取消其他表格的选中状态
void s_UnSelectTableItem(QString strUuid);
//图头右键菜单响应函数
void slotContextMenu(QPoint pos);
void slotMerge();//合并
void slotSplit();//拆分
//
void slotAddRow();//前插入行
void slotAddAfterRow();//后插入行
//
void slotAddCol();//前插入列
void slotAddAfterCol();//后插入列
//
void slotDeleteRow();//删除行
void slotDeleteCol();//删除列
void slotDeleteTable();//删除表
//图头
void copy();
void Paste();
};
#endif // FORMHEAD_H