Isis 3 Programmer Reference
Isis::TableViewHeader Class Reference

#include <TableViewHeader.h>

Inheritance diagram for Isis::TableViewHeader:
Inheritance graph
Collaboration diagram for Isis::TableViewHeader:
Collaboration graph

Public Slots

void handleFilterCountsChanged (int visibleTopLevelItemCount, int topLevelItemCount)
 Updates the visible columns, and geometry when the filter count changes.
 
void updateHeaderOffset (int)
 Updates the header offset.
 
void updateFilterProgress (int newProgress)
 Updates the current filter progress value.
 
void updateFilterProgressRange (int min, int max)
 Updates the range of the filter progress.
 
void updateRebuildProgress (int newProgress)
 Updates the current rebuild progress value.
 
void updateRebuildProgressRange (int min, int max)
 Updates the range of the rebuild progress.
 
void updateSortProgress (int newProgress)
 Updates the current sort progress value.
 
void updateSortProgressRange (int min, int max)
 Updates the range of the sort progress.
 

Signals

void columnResized (bool lastColumn)
 
void requestedGlobalSelection (bool select)
 
void requestedColumnSelection (int columnNum, bool select)
 
void sortingEnabled (bool)
 

Public Member Functions

 TableViewHeader (AbstractTableModel *someModel)
 Constructor.
 
virtual ~TableViewHeader ()
 Destructor.
 
virtual void setColumns (TableColumnList *)
 Sets the column list.
 
QSize minimumSizeHint () const
 Returns the minimum size based on the font.
 
QSize sizeHint () const
 Returns the minimum size based on the font.
 
void setModel (AbstractTableModel *someModel)
 Connects the table model to the functions that handle changes.
 

Protected Member Functions

void mouseMoveEvent (QMouseEvent *event)
 Overrides QWidget::mouseMoveEvent.
 
void mousePressEvent (QMouseEvent *event)
 Overrides QWidget::mousePressEvent.
 
void mouseReleaseEvent (QMouseEvent *event)
 Overrides QWidget::mouseReleaseEvent.
 
void paintEvent (QPaintEvent *event)
 Repaints the header.
 

Private Member Functions

 TableViewHeader (const TableViewHeader &other)
 
TableViewHeaderoperator= (TableViewHeader other)
 
void nullify ()
 Sets all the member variables to NULL.
 
QRect getColumnRect (int column) const
 Returns the visible column rectangle.
 
int getMousedColumn (QPoint mousePos)
 Returns the column under the mouse.
 
int getMousedColumnEdge (QPoint mousePos)
 Returns the edge of the column under the mouse.
 
bool mouseAtResizableColumnEdge (QPoint mousePos)
 Returns if the mouse is at the edge of a resizeable column.
 
void paintHeader (QPainter *painter, int rowheight)
 Repaints the header.
 
void paintProgress (QPainter *painter, const QRect &rect, int min, int max, int value, bool over100)
 Updates the progress bar.
 
QRect getSortingPriorityRect (int visColIndex)
 
QRect getSortingArrowRect (int visColIndex)
 

Private Attributes

TableColumnListm_columns
 
int m_horizontalOffset
 
int m_filterProgress
 
int m_filterProgressMin
 
int m_filterProgressMax
 
int m_rebuildProgress
 
int m_rebuildProgressMin
 
int m_rebuildProgressMax
 
int m_sortProgress
 
int m_sortProgressMin
 
int m_sortProgressMax
 
int m_visibleCount
 
int m_totalCount
 
int m_clickedColumnEdge
 
int m_clickedColumn
 
int ARROW_HEIGHT
 
int ARROW_WIDTH
 
AbstractTableModelm_model
 

Static Private Attributes

static int const SORT_ARROW_MARGIN = 10
 

Detailed Description

Author
????-??-?? Unknown
History

2012-09-28 Kimberly Oyama - Changed member variables to be prefixed with "m_".

2017-07-25 Summer Stapleton - Removed the CnetViz namespace. Fixes #5054.

2017-08-08 Makayla Shepherd - Updated documentation.

Definition at line 34 of file TableViewHeader.h.

Constructor & Destructor Documentation

◆ TableViewHeader()

Isis::TableViewHeader::TableViewHeader ( AbstractTableModel * someModel)
explicit

Constructor.

Parameters
someModelThe table model

Definition at line 39 of file TableViewHeader.cpp.

References nullify(), and setModel().

◆ ~TableViewHeader()

Isis::TableViewHeader::~TableViewHeader ( )
virtual

Destructor.

Definition at line 70 of file TableViewHeader.cpp.

Member Function Documentation

◆ getColumnRect()

QRect Isis::TableViewHeader::getColumnRect ( int column) const
private

Returns the visible column rectangle.

Parameters
columnColumn to check
Returns
QRect The visible column rectangle

Definition at line 354 of file TableViewHeader.cpp.

Referenced by getMousedColumn(), getMousedColumnEdge(), mouseAtResizableColumnEdge(), mouseMoveEvent(), and paintHeader().

◆ getMousedColumn()

int Isis::TableViewHeader::getMousedColumn ( QPoint mousePos)
private

Returns the column under the mouse.

Parameters
mousePosThe mouse position
Returns
int Index of the column under the mouse

Definition at line 380 of file TableViewHeader.cpp.

References getColumnRect().

Referenced by getMousedColumnEdge(), mouseAtResizableColumnEdge(), mousePressEvent(), and mouseReleaseEvent().

◆ getMousedColumnEdge()

int Isis::TableViewHeader::getMousedColumnEdge ( QPoint mousePos)
private

Returns the edge of the column under the mouse.

Parameters
mousePosThe mouse position
Returns
int Index of the column edge under the mouse

Definition at line 402 of file TableViewHeader.cpp.

References getColumnRect(), getMousedColumn(), and mouseAtResizableColumnEdge().

Referenced by mousePressEvent().

◆ handleFilterCountsChanged

void Isis::TableViewHeader::handleFilterCountsChanged ( int visibleTopLevelItemCount,
int topLevelItemCount )
slot

Updates the visible columns, and geometry when the filter count changes.

Parameters
visibleTopLevelItemCountNumber of visible top level items
topLevelItemCountNumber of top level items

Definition at line 177 of file TableViewHeader.cpp.

Referenced by setModel().

◆ minimumSizeHint()

QSize Isis::TableViewHeader::minimumSizeHint ( ) const

Returns the minimum size based on the font.

Returns
QSize Minimum size allowed

Definition at line 90 of file TableViewHeader.cpp.

Referenced by sizeHint().

◆ mouseAtResizableColumnEdge()

bool Isis::TableViewHeader::mouseAtResizableColumnEdge ( QPoint mousePos)
private

Returns if the mouse is at the edge of a resizeable column.

Parameters
mousePosThe mouse position
Returns
bool True if the mouse is at the edge fo a resizable column

Definition at line 429 of file TableViewHeader.cpp.

References getColumnRect(), and getMousedColumn().

Referenced by getMousedColumnEdge(), and mouseMoveEvent().

◆ mouseMoveEvent()

void Isis::TableViewHeader::mouseMoveEvent ( QMouseEvent * event)
protected

Overrides QWidget::mouseMoveEvent.

Parameters
eventThe mouse move event

Definition at line 247 of file TableViewHeader.cpp.

References getColumnRect(), and mouseAtResizableColumnEdge().

◆ mousePressEvent()

void Isis::TableViewHeader::mousePressEvent ( QMouseEvent * event)
protected

Overrides QWidget::mousePressEvent.

Parameters
eventThe mouse press event

Definition at line 214 of file TableViewHeader.cpp.

References getMousedColumn(), and getMousedColumnEdge().

◆ mouseReleaseEvent()

void Isis::TableViewHeader::mouseReleaseEvent ( QMouseEvent * event)
protected

Overrides QWidget::mouseReleaseEvent.

Parameters
eventThe mouse release event

Definition at line 283 of file TableViewHeader.cpp.

References getMousedColumn().

◆ nullify()

void Isis::TableViewHeader::nullify ( )
private

Sets all the member variables to NULL.

Definition at line 341 of file TableViewHeader.cpp.

Referenced by TableViewHeader().

◆ paintEvent()

void Isis::TableViewHeader::paintEvent ( QPaintEvent * event)
protected

Repaints the header.

Parameters
eventThe paint event

Definition at line 323 of file TableViewHeader.cpp.

References paintHeader().

◆ paintHeader()

void Isis::TableViewHeader::paintHeader ( QPainter * painter,
int rowHeight )
private

Repaints the header.

Parameters
painterThe QPainter
rowHeightThe new row height

Definition at line 462 of file TableViewHeader.cpp.

References getColumnRect(), and paintProgress().

Referenced by paintEvent().

◆ paintProgress()

void Isis::TableViewHeader::paintProgress ( QPainter * painter,
const QRect & rect,
int min,
int max,
int value,
bool over100 )
private

Updates the progress bar.

Parameters
painterThe QPainter
rectThe progress bar
minThe minimum progress value
maxThe maximum progress value
valueCurrent progress value
over100Bool if the progress can go over 100

Definition at line 597 of file TableViewHeader.cpp.

Referenced by paintHeader().

◆ setColumns()

void Isis::TableViewHeader::setColumns ( TableColumnList * cols)
virtual

Sets the column list.

Parameters
colsThe column list

Definition at line 80 of file TableViewHeader.cpp.

◆ setModel()

void Isis::TableViewHeader::setModel ( AbstractTableModel * someModel)

Connects the table model to the functions that handle changes.

Parameters
someModelThe table model to connect

Definition at line 114 of file TableViewHeader.cpp.

References handleFilterCountsChanged(), updateFilterProgress(), updateFilterProgressRange(), updateRebuildProgress(), updateRebuildProgressRange(), updateSortProgress(), and updateSortProgressRange().

Referenced by TableViewHeader().

◆ sizeHint()

QSize Isis::TableViewHeader::sizeHint ( ) const

Returns the minimum size based on the font.

See also
minimumSizeHint
Returns
QSize Minimum size allowed

Definition at line 104 of file TableViewHeader.cpp.

References minimumSizeHint().

◆ updateFilterProgress

void Isis::TableViewHeader::updateFilterProgress ( int newProgress)
slot

Updates the current filter progress value.

Parameters
newProgressNew progress value

Definition at line 620 of file TableViewHeader.cpp.

Referenced by setModel().

◆ updateFilterProgressRange

void Isis::TableViewHeader::updateFilterProgressRange ( int min,
int max )
slot

Updates the range of the filter progress.

Parameters
minThe minimum progress
maxThe maximum progress

Definition at line 632 of file TableViewHeader.cpp.

Referenced by setModel().

◆ updateHeaderOffset

void Isis::TableViewHeader::updateHeaderOffset ( int newOffset)
slot

Updates the header offset.

Parameters
newOffsetThe new header offset

Definition at line 203 of file TableViewHeader.cpp.

◆ updateRebuildProgress

void Isis::TableViewHeader::updateRebuildProgress ( int newProgress)
slot

Updates the current rebuild progress value.

Parameters
newProgressNew progress value

Definition at line 644 of file TableViewHeader.cpp.

Referenced by setModel().

◆ updateRebuildProgressRange

void Isis::TableViewHeader::updateRebuildProgressRange ( int min,
int max )
slot

Updates the range of the rebuild progress.

Parameters
minThe minimum progress
maxThe maximum progress

Definition at line 656 of file TableViewHeader.cpp.

Referenced by setModel().

◆ updateSortProgress

void Isis::TableViewHeader::updateSortProgress ( int newProgress)
slot

Updates the current sort progress value.

Parameters
newProgressNew progress value

Definition at line 668 of file TableViewHeader.cpp.

Referenced by setModel().

◆ updateSortProgressRange

void Isis::TableViewHeader::updateSortProgressRange ( int min,
int max )
slot

Updates the range of the sort progress.

Parameters
minThe minimum progress
maxThe maximum progress

Definition at line 680 of file TableViewHeader.cpp.

Referenced by setModel().

Member Data Documentation

◆ ARROW_HEIGHT

int Isis::TableViewHeader::ARROW_HEIGHT
private

Definition at line 109 of file TableViewHeader.h.

◆ ARROW_WIDTH

int Isis::TableViewHeader::ARROW_WIDTH
private

Definition at line 110 of file TableViewHeader.h.

◆ m_clickedColumn

int Isis::TableViewHeader::m_clickedColumn
private

Definition at line 106 of file TableViewHeader.h.

◆ m_clickedColumnEdge

int Isis::TableViewHeader::m_clickedColumnEdge
private

Definition at line 105 of file TableViewHeader.h.

◆ m_columns

TableColumnList* Isis::TableViewHeader::m_columns
private

Definition at line 90 of file TableViewHeader.h.

◆ m_filterProgress

int Isis::TableViewHeader::m_filterProgress
private

Definition at line 92 of file TableViewHeader.h.

◆ m_filterProgressMax

int Isis::TableViewHeader::m_filterProgressMax
private

Definition at line 94 of file TableViewHeader.h.

◆ m_filterProgressMin

int Isis::TableViewHeader::m_filterProgressMin
private

Definition at line 93 of file TableViewHeader.h.

◆ m_horizontalOffset

int Isis::TableViewHeader::m_horizontalOffset
private

Definition at line 91 of file TableViewHeader.h.

◆ m_model

AbstractTableModel* Isis::TableViewHeader::m_model
private

Definition at line 112 of file TableViewHeader.h.

◆ m_rebuildProgress

int Isis::TableViewHeader::m_rebuildProgress
private

Definition at line 95 of file TableViewHeader.h.

◆ m_rebuildProgressMax

int Isis::TableViewHeader::m_rebuildProgressMax
private

Definition at line 97 of file TableViewHeader.h.

◆ m_rebuildProgressMin

int Isis::TableViewHeader::m_rebuildProgressMin
private

Definition at line 96 of file TableViewHeader.h.

◆ m_sortProgress

int Isis::TableViewHeader::m_sortProgress
private

Definition at line 98 of file TableViewHeader.h.

◆ m_sortProgressMax

int Isis::TableViewHeader::m_sortProgressMax
private

Definition at line 100 of file TableViewHeader.h.

◆ m_sortProgressMin

int Isis::TableViewHeader::m_sortProgressMin
private

Definition at line 99 of file TableViewHeader.h.

◆ m_totalCount

int Isis::TableViewHeader::m_totalCount
private

Definition at line 103 of file TableViewHeader.h.

◆ m_visibleCount

int Isis::TableViewHeader::m_visibleCount
private

Definition at line 102 of file TableViewHeader.h.

◆ SORT_ARROW_MARGIN

int const Isis::TableViewHeader::SORT_ARROW_MARGIN = 10
staticprivate

Definition at line 108 of file TableViewHeader.h.


The documentation for this class was generated from the following files: