EHM DAL 0.2.3
Data abstraction layer for Eastside Hockey Manager
Loading...
Searching...
No Matches
ehm_dal::column_data::ColumnData Class Reference

The ColumnData class represents a container of ehm_dal::column_data::Column and attributes relating to the columns as a whole (e.g. column count). More...

#include <column_data.h>

Inheritance diagram for ehm_dal::column_data::ColumnData:

Public Types

enum  COLUMN_DATA_SETTINGS {
  NO_SETTINGS = 1 << 0 , DO_NOT_USE_EXTRA_COLUMNS = 1 << 2 , HAS_NO_ID_COLUMN = 1 << 3 , HAS_UID_COLUMN = 1 << 4 ,
  FORCE_CACHING = 1 << 5 , REBUILD_PRIORITY = 1 << 6 , SORTABLE_TABLE = 1 << 7 , USES_IDENTIFIER_SINGLE_STRING = 1 << 8 ,
  USES_IDENTIFIER_STRING_LIST = 1 << 9
}
 The COLUMN_DATA_SETTINGS enum represents settings for ColumnData. More...
 
enum  COLUMN_DATA_INDEXES {
  FirstColumn = 0 , Id = FirstColumn , Uid , DisplayText ,
  SubHeadingText , ValidationStatus , IsModifiedByDbXfer , DbXferImportId ,
  FirstStandardDerivedColumnIndex , FirstIdOnlyDerivedColumnIndex = Id + 1 , Text = DisplayText
}
 The COLUMN_DATA_INDEXES enum sets out the base Column indexes within the ColumnData. Derived class ColumnData indexes commence from FirstStandardDerivedColumnIndex or FirstIdOnlyDerivedColumnIndex as applicable. More...
 

Public Member Functions

 ColumnData (const quint16 settings=NO_SETTINGS)
 Default constructor.
 
void add (const Column &column)
 Adds the column to the column data. Note this moves column.
 
void add (const ColumnData &data)
 Adds all of the columns from data to the column data.
 
bool isCached () const
 Returns whether any cached columns are present.
 
void setCacheComplete (const bool is_cached)
 Sets the cached status of any cached columns.
 
qint32 columnCount () const
 Returns the number of columns.
 
const Columncolumn (const qint32 column_id) const
 Returns a raw pointer to the Column with a column index of column_id.
 
QSize dimensions (const qint32 column_id) const
 Returns the dimensions of the Column with a column index of column_id.
 
qint32 firstDerivedColumnIndex () const
 Returns the first column index of the class derived from ColumnData.
 
Qt::ItemFlags flags (const QModelIndex &index) const
 Returns the Qt::ItemFlags in respect of the column from index.
 
bool isInitialised () const
 Returns whether or not any columns have been added to the column data.
 
QString name (const qint32 column_id) const
 Returns the name of the Column with a column index of column_id.
 
bool hasExtraColumns () const
 Returns whether or not COLUMN_DATA_SETTINGS::DO_NOT_USE_EXTRA_COLUMNS is false.
 
bool hasIdColumn () const
 Returns whether or not COLUMN_DATA_SETTINGS::HAS_NO_ID_COLUMN is false.
 
bool hasRebuildPriority () const
 Returns whether or not COLUMN_DATA_SETTINGS::REBUILD_PRIORITY is true.
 
bool hasUidColumn () const
 Returns whether or not COLUMN_DATA_SETTINGS::HAS_UID_COLUMN is true.
 
bool isSortable () const
 Returns whether or not COLUMN_DATA_SETTINGS::SORTABLE_TABLE is true.
 
bool usesIdentifierSingleString () const
 Returns whether or not COLUMN_DATA_SETTINGS::USES_IDENTIFIER_SINGLE_STRING is true.
 
bool usesIdentifierStringList () const
 Returns whether or not COLUMN_DATA_SETTINGS::USES_IDENTIFIER_STRING_LIST is true.
 
void validateIdentifierSetting ()
 Validates the identifier setting in order to ensure it is correctly set.
 
bool operator== (const ColumnData &rhs) const
 
bool operator!= (const ColumnData &rhs) const
 
void clearAll ()
 Clear all column data (including any default columns).
 
bool isValid (const qint32 column_id) const
 Checks whether a 'Column' is present with a column index equal to column_id
 

Detailed Description

The ColumnData class represents a container of ehm_dal::column_data::Column and attributes relating to the columns as a whole (e.g. column count).

Member Enumeration Documentation

◆ COLUMN_DATA_INDEXES

The COLUMN_DATA_INDEXES enum sets out the base Column indexes within the ColumnData. Derived class ColumnData indexes commence from FirstStandardDerivedColumnIndex or FirstIdOnlyDerivedColumnIndex as applicable.

Enumerator
Id 

Item id

Uid 

Item unique id

DisplayText 

Display text

SubHeadingText 

Sub-heading text

ValidationStatus 

Validation status

IsModifiedByDbXfer 

Has been modified by a DB xfer/import

DbXferImportId 

DB xfer/import id

FirstStandardDerivedColumnIndex 

For tables with all of the above fields

FirstIdOnlyDerivedColumnIndex 

For tables with an id column only

Text 

For backwards compatibility

◆ COLUMN_DATA_SETTINGS

The COLUMN_DATA_SETTINGS enum represents settings for ColumnData.

Enumerator
DO_NOT_USE_EXTRA_COLUMNS 

No validation status, display text, etc columns

HAS_NO_ID_COLUMN 

Has no id column

HAS_UID_COLUMN 

Has a uid column

FORCE_CACHING 

Force caching where a table wouldn't otherwise be cached

REBUILD_PRIORITY 

Table should be rebuilt prior to other tables

SORTABLE_TABLE 

Table can be sorted

USES_IDENTIFIER_SINGLE_STRING 

Single identifier string

USES_IDENTIFIER_STRING_LIST 

String list of identifiers

Constructor & Destructor Documentation

◆ ColumnData()

ehm_dal::column_data::ColumnData::ColumnData ( const quint16  settings = NO_SETTINGS)

Default constructor.

Parameters
settingsThe ColumnData::COLUMN_DATA_SETTINGS to apply

Member Function Documentation

◆ add() [1/2]

void ehm_dal::column_data::ColumnData::add ( const Column column)

Adds the column to the column data. Note this moves column.

Parameters
columnto be added to the column data.

◆ add() [2/2]

void ehm_dal::column_data::ColumnData::add ( const ColumnData data)

Adds all of the columns from data to the column data.

Parameters
datacontaining the columns to be added.

◆ column()

const Column * ehm_dal::column_data::ColumnData::column ( const qint32  column_id) const

Returns a raw pointer to the Column with a column index of column_id.

Parameters
column_idcolumn index

◆ dimensions()

QSize ehm_dal::column_data::ColumnData::dimensions ( const qint32  column_id) const

Returns the dimensions of the Column with a column index of column_id.

Parameters
column_idcolumn index

◆ isValid()

bool ehm_dal::column_data::ColumnData::isValid ( const qint32  column_id) const

Checks whether a 'Column' is present with a column index equal to column_id

Parameters
column_idthe selected column index

◆ setCacheComplete()

void ehm_dal::column_data::ColumnData::setCacheComplete ( const bool  is_cached)
inline

Sets the cached status of any cached columns.

Parameters
is_cachedwhether or not the underlying data has been cached