Rev 381 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#include "qmTableWidgetItem.h"#include <QHeaderView>/*----------------------------------------------------------------------------** FUNCTION : qmTwi...**** DESCRIPTION : A collection of helper classes to help display team** information in a table.**** All derive from QTableWidgetItem and display read-only** data**** Some of them have associated sorting functions to** order data in a pleasing manner.****** INPUTS :**** RETURNS :**----------------------------------------------------------------------------*/qmTwiString::qmTwiString ( QString value, int usort ) : QTableWidgetItem(0){setData(Qt::DisplayRole,value);setFlags(flags() & ~Qt::ItemIsEditable);sort = usort;}bool qmTwiString::operator< ( const QTableWidgetItem & other ) const{if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiString *other_widget = dynamic_cast<const qmTwiString *>(&other);if (other_widget){return data(Qt::DisplayRole).toString().toLower() < other_widget->data(Qt::DisplayRole).toString().toLower();}return false;}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiEditString::qmTwiEditString ( QString value, int usort ) : QTableWidgetItem(0){setData(Qt::DisplayRole,value);setFlags(flags() | Qt::ItemIsEditable);sort = usort;}bool qmTwiEditString::operator< ( const QTableWidgetItem & other ) const{if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiEditString *other_widget = dynamic_cast<const qmTwiEditString *>(&other);if (other_widget){return data(Qt::DisplayRole).toString().toLower() < other_widget->data(Qt::DisplayRole).toString().toLower();}return false;}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiNumber::qmTwiNumber ( int value, int usort ) : QTableWidgetItem(0){sort = usort;number = value;setData(0,value);setFlags(flags() & ~Qt::ItemIsEditable);}bool qmTwiNumber::operator< ( const QTableWidgetItem& other ) const{//if (sort == 2) {// qDebug() << "<N:" << number << " S:" << sort << " O:" << tableWidget()->horizontalHeader()->sortIndicatorOrder();//}if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiNumber *other_widget = dynamic_cast<const qmTwiNumber *>(&other);if (other_widget){return number < other_widget->number;}return false;}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiEditNumber::qmTwiEditNumber ( int value, int usort ) : QTableWidgetItem(0){setData(Qt::EditRole,value );sort = usort;}bool qmTwiEditNumber::operator< ( const QTableWidgetItem & other ) const{if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiEditNumber * other_widget = dynamic_cast<const qmTwiEditNumber*>(&other);if (other_widget){return data(Qt::EditRole).toInt() < other_widget->data(Qt::EditRole).toInt();}return false;}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiTime::qmTwiTime ( int value ) : QTableWidgetItem(0){number = value;setData(0,time_a(value));setFlags(flags() & ~Qt::ItemIsEditable);}bool qmTwiTime::operator< ( const QTableWidgetItem & other ) const{const qmTwiTime * other_widget = dynamic_cast<const qmTwiTime*>(&other);if (number >= 0 && other_widget->number >= 0){return number < other_widget->number;}else if (number >= 0 && other_widget->number < 0){return true;}else{return false;}}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiFlag::qmTwiFlag ( const QString txt, bool checked, int usort ) : QTableWidgetItem(txt){sort = usort;setCheckState(checked ? Qt::Checked : Qt::Unchecked);setFlags(flags() & ~(Qt::ItemIsEditable | Qt::ItemIsUserCheckable));}bool qmTwiFlag::operator< ( const QTableWidgetItem & other ) const{if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiFlag * other_widget = dynamic_cast<const qmTwiFlag*>(&other);if (other_widget){return (other_widget->checkState() < checkState());}else{return false;}}/*----------------------------------------------------------------------------** FUNCTION :**** DESCRIPTION :----------------------------------------------------------------------------*/qmTwiEditFlag::qmTwiEditFlag ( const QString txt, bool checked, int usort ) : QTableWidgetItem(txt){sort = usort;setCheckState(checked ? Qt::Checked : Qt::Unchecked);setFlags(flags() | (Qt::ItemIsEditable | Qt::ItemIsUserCheckable));}bool qmTwiEditFlag::operator< ( const QTableWidgetItem & other ) const{if (sort) {Qt::SortOrder sortOrder = tableWidget()->horizontalHeader()->sortIndicatorOrder();return sortOrder == Qt::DescendingOrder;}const qmTwiEditFlag * other_widget = dynamic_cast<const qmTwiEditFlag*>(&other);if (other_widget){return (other_widget->checkState() < checkState());}else{return false;}}