Subversion Repositories svn1-original

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
314 david 1
#include "qmTableWidgetItem.h"
2
 
3
/*----------------------------------------------------------------------------
4
** FUNCTION           : qmTwi...
5
**
6
** DESCRIPTION        : A collection of helper classes to help display team
7
**                      information in a table.
8
** 
9
**                      All derive from QTableWidgetItem and display read-only
10
**                      data
11
** 
12
**                      Some of them have associated sorting functions to
13
**                      order data in a pleasing manner.
14
**
15
**
16
** INPUTS             :
17
**
18
** RETURNS            :
19
**
20
----------------------------------------------------------------------------*/
21
 
22
qmTwiString::qmTwiString ( QString value, int usort  ) :  QTableWidgetItem(0)
23
{
317 david 24
    setData(Qt::DisplayRole,value);
314 david 25
    setFlags(flags() & ~Qt::ItemIsEditable);
26
    sort = usort;
27
}
28
 
29
bool qmTwiString::operator< ( const QTableWidgetItem & other ) const
30
{
31
    if (sort)
32
        return true;
33
 
34
    const qmTwiString *other_widget = dynamic_cast<const qmTwiString *>(&other); 
35
    if (other_widget)
36
    {
317 david 37
        return data(Qt::DisplayRole).toString().toLower() < other_widget->data(Qt::DisplayRole).toString().toLower(); 
314 david 38
    }
39
    return false;
40
}
41
 
42
/*----------------------------------------------------------------------------
43
** FUNCTION           : 
44
**
45
** DESCRIPTION        :
46
----------------------------------------------------------------------------*/
47
 
48
qmTwiNumber::qmTwiNumber ( int value, int usort  ) :  QTableWidgetItem(0)
49
{
50
    sort = usort;
51
    number = value;
52
    setData(0,value);
53
    setFlags(flags() & ~Qt::ItemIsEditable);
54
}
55
 
56
 
57
bool qmTwiNumber::operator< ( const QTableWidgetItem & other ) const
58
{
59
    if (sort)
60
        return true;
61
 
62
    const qmTwiNumber *other_widget = dynamic_cast<const qmTwiNumber *>(&other); 
63
    return number < other_widget->number;
64
}
65
 
66
/*----------------------------------------------------------------------------
67
** FUNCTION           : 
68
**
69
** DESCRIPTION        :
70
----------------------------------------------------------------------------*/
71
 
72
qmTwiEditNumber::qmTwiEditNumber ( int value, int usort  ) :  QTableWidgetItem(0)
73
{
74
    setData(Qt::EditRole,value );
75
    sort = usort;
76
}
77
 
78
bool qmTwiEditNumber::operator< ( const QTableWidgetItem & other ) const
79
{
80
    if (sort)
81
        return true;
82
 
83
    const qmTwiEditNumber * other_widget = dynamic_cast<const qmTwiEditNumber*>(&other);
84
    if (other_widget)
85
    {
86
        return data(Qt::EditRole).toInt() < other_widget->data(Qt::EditRole).toInt(); 
87
    }
88
    return false;
89
}
90
 
91
/*----------------------------------------------------------------------------
92
** FUNCTION           : 
93
**
94
** DESCRIPTION        :
95
----------------------------------------------------------------------------*/
96
 
97
qmTwiTime::qmTwiTime ( int value  ) :  QTableWidgetItem(0)
98
{
99
    number = value;
100
    setData(0,time_a(value));
101
    setFlags(flags() & ~Qt::ItemIsEditable);
102
}
103
 
104
bool qmTwiTime::operator< ( const QTableWidgetItem & other ) const
105
{
106
    const qmTwiTime * other_widget = dynamic_cast<const qmTwiTime*>(&other);
107
    if (number >= 0 && other_widget->number >= 0)
108
    {
109
        return number < other_widget->number;
110
    }
111
    else if (number >= 0 && other_widget->number < 0)
112
    {
113
        return true;
114
    }
115
    else
116
    {
117
        return false;
118
    }
119
}
120
 
121
/*----------------------------------------------------------------------------
122
** FUNCTION           : 
123
**
124
** DESCRIPTION        :
125
----------------------------------------------------------------------------*/
126
 
317 david 127
qmTwiFlag::qmTwiFlag ( const QString txt, bool checked, int usort  ) :  QTableWidgetItem(txt)
314 david 128
{
317 david 129
    sort = usort;
314 david 130
    setCheckState(checked ? Qt::Checked : Qt::Unchecked);
131
    setFlags(flags() & ~(Qt::ItemIsEditable | Qt::ItemIsUserCheckable));
132
}
133
 
134
bool qmTwiFlag::operator< ( const QTableWidgetItem & other ) const
135
{
317 david 136
    if (sort)
137
        return true;
138
 
314 david 139
    const qmTwiFlag * other_widget = dynamic_cast<const qmTwiFlag*>(&other);
317 david 140
    if (other_widget)
141
    {
142
        return (other_widget->checkState() < checkState()); 
143
    }
144
    else
145
    {
146
        return false;
147
    }
314 david 148
}
149
 
317 david 150
/*----------------------------------------------------------------------------
151
** FUNCTION           : 
152
**
153
** DESCRIPTION        :
154
----------------------------------------------------------------------------*/
155
 
156
qmTwiEditFlag::qmTwiEditFlag ( const QString txt, bool checked, int usort  ) :  QTableWidgetItem(txt)
157
{
158
    sort = usort;
159
    setCheckState(checked ? Qt::Checked : Qt::Unchecked);
160
    setFlags(flags() | (Qt::ItemIsEditable | Qt::ItemIsUserCheckable));
161
}
162
 
163
bool qmTwiEditFlag::operator< ( const QTableWidgetItem & other ) const
164
{
165
    if (sort)
166
        return true;
167
 
168
    const qmTwiEditFlag * other_widget = dynamic_cast<const qmTwiEditFlag*>(&other);
169
    if (other_widget)
170
    {
171
        return (other_widget->checkState() < checkState()); 
172
    }
173
    else
174
    {
175
        return false;
176
    }
177
}
178
 
179