📄 multicolumnlist.pkg
字号:
/***********************************************************************
MultiColumnList
***********************************************************************/
struct MCLGridRef
{
unsigned int row;
unsigned int column;
//bool operator< (const MCLGridRef& rhs) const;
//bool operator>= (const MCLGridRef& rhs) const;
bool operator== (const MCLGridRef& rhs) const;
MCLGridRef(unsigned int r, unsigned int c);
};
/***********************************************************************
MultiColumnList
***********************************************************************/
class MultiColumnList : public Window
{
enum SelectionMode
{
RowSingle,
RowMultiple,
CellSingle,
CellMultiple,
NominatedColumnSingle,
NominatedColumnMultiple,
ColumnSingle,
ColumnMultiple,
NominatedRowSingle,
NominatedRowMultiple
};
bool isUserSortControlEnabled() const;
bool isUserColumnSizingEnabled() const;
bool isUserColumnDraggingEnabled() const;
unsigned int getColumnCount() const;
unsigned int getRowCount() const;
unsigned int getSortColumn() const;
unsigned int getColumnWithID(unsigned int col_id) const;
unsigned int getColumnWithHeaderText(string text) const;
UDim getTotalColumnHeadersWidth() const;
UDim getColumnHeaderWidth(unsigned int col_idx) const;
ListHeaderSegment::SortDirection getSortDirection() const;
ListHeaderSegment& getHeaderSegmentForColumn(unsigned int col_idx) const;
unsigned int getItemRowIndex(const ListboxItem* item) const;
unsigned int getItemColumnIndex(const ListboxItem* item) const;
MCLGridRef getItemGridReference(const ListboxItem* item) const;
ListboxItem* getItemAtGridReference(const MCLGridRef& grid_ref) const;
bool isListboxItemInColumn(const ListboxItem* item, unsigned int col_idx) const;
bool isListboxItemInRow(const ListboxItem* item, unsigned int row_idx) const;
bool isListboxItemInList(const ListboxItem* item) const;
ListboxItem* findColumnItemWithText(string text, unsigned int col_idx, const ListboxItem* start_item) const;
ListboxItem* findRowItemWithText(string text, unsigned int row_idx, const ListboxItem* start_item) const;
ListboxItem* findListItemWithText(string text, const ListboxItem* start_item) const;
ListboxItem* getFirstSelectedItem() const;
ListboxItem* getNextSelected(const ListboxItem* start_item) const;
unsigned int getSelectedCount() const;
bool isItemSelected(const MCLGridRef& grid_ref) const;
unsigned int getNominatedSelectionColumnID() const;
unsigned int getNominatedSelectionColumn() const;
unsigned int getNominatedSelectionRow() const;
SelectionMode getSelectionMode() const;
bool isVertScrollbarAlwaysShown() const;
bool isHorzScrollbarAlwaysShown() const;
unsigned int getColumnID(unsigned int col_idx) const;
unsigned int getRowID(unsigned int row_idx) const;
unsigned int getRowWithID(unsigned int row_id) const;
Rect getListRenderArea() const;
Scrollbar* getVertScrollbar() const;
Scrollbar* getHorzScrollbar() const;
ListHeader* getListHeader() const;
float getTotalRowsHeight() const;
float getWidestColumnItemWidth(unsigned int col_idx) const;
float getHighestRowItemHeight(unsigned int row_idx) const;
void resetList();
void addColumn(string text, unsigned int col_id, const UDim& width);
void insertColumn(string text, unsigned int col_id, const UDim& width, unsigned int position);
void removeColumn(unsigned int col_idx);
void removeColumnWithID(unsigned int col_id);
void moveColumn(unsigned int col_idx, unsigned int position);
void moveColumnWithID(unsigned int col_id, unsigned int position);
unsigned int addRow();
unsigned int addRow(ListboxItem* item, unsigned int col_id);
unsigned int insertRow(unsigned int row_idx);
unsigned int insertRow(ListboxItem* item, unsigned int col_id, unsigned int row_idx);
void removeRow(unsigned int row_idx);
void setItem(ListboxItem* item, const MCLGridRef& position);
void setItem(ListboxItem* item, unsigned int col_id, unsigned int row_idx);
void setSelectionMode(MultiColumnList::SelectionMode sel_mode);
void setNominatedSelectionColumnID(unsigned int col_id);
void setNominatedSelectionColumn(unsigned int col_idx);
void setNominatedSelectionRow(unsigned int row_idx);
void setSortDirection(ListHeaderSegment::SortDirection direction);
void setSortColumn(unsigned int col_idx);
void setSortColumnByID(unsigned int col_id);
void setShowVertScrollbar(bool setting);
void setShowHorzScrollbar(bool setting);
void clearAllSelections();
void setItemSelectState(ListboxItem* item, bool state);
void setItemSelectState(const MCLGridRef& grid_ref, bool state);
void handleUpdatedItemData();
void setColumnHeaderWidth(unsigned int col_idx, const UDim& width);
void setUserSortControlEnabled(bool setting);
void setUserColumnSizingEnabled(bool setting);
void setUserColumnDraggingEnabled(bool setting);
void autoSizeColumnHeader(unsigned int col_idx);
void setRowID(unsigned int row_idx, unsigned int row_id);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -