1
0
Fork 0
x64dbg/x64_dbg_gui/Project/Src/BasicView/StdTable.h

66 lines
1.6 KiB
C++

#ifndef STDTABLE_H
#define STDTABLE_H
#include <QtGui>
#include "NewTypes.h"
#include "AbstractTableView.h"
class StdTable : public AbstractTableView
{
Q_OBJECT
public:
explicit StdTable(QWidget *parent = 0);
QString paintContent(QPainter* painter, int_t rowBase, int rowOffset, int col, int x, int y, int w, int h);
void mouseMoveEvent(QMouseEvent* event);
void mousePressEvent(QMouseEvent* event);
void mouseReleaseEvent(QMouseEvent* event);
void keyPressEvent(QKeyEvent* event);
void enableMultiSelection(bool enabled);
// Selection Management
void expandSelectionUpTo(int to);
void setSingleSelection(int index);
int getInitialSelection();
void selectNext();
void selectPrevious();
bool isSelected(int base, int offset);
// Data Management
void addColumnAt(int width, QString title, bool isClickable);
void setRowCount(int count);
void deleteAllColumns();
void setCellContent(int r, int c, QString s);
QString getCellContent(int r, int c);
bool isValidIndex(int r, int c);
signals:
void selectionChangedSignal(int index);
void keyPressedSignal(QKeyEvent* event);
public slots:
private:
enum GuiState_t {NoState, MultiRowsSelectionState};
typedef struct _SelectionData_t
{
int firstSelectedIndex;
int fromIndex;
int toIndex;
} SelectionData_t;
GuiState_t mGuiState;
SelectionData_t mSelection;
bool mIsMultiSelctionAllowed;
QList< QList<QString>* >* mData;
};
#endif // STDTABLE_H