Subversion Repositories svn1-original

Rev

Rev 335 | Details | Compare with Previous | 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
 
328 david 62
    const qmTwiNumber *other_widget = dynamic_cast<const qmTwiNumber *>(&other);
63
    if (other_widget)
64
    {
65
        return number < other_widget->number;
66
    }
67
    return false;
314 david 68
}
69
 
70
/*----------------------------------------------------------------------------
71
** FUNCTION           : 
72
**
73
** DESCRIPTION        :
74
----------------------------------------------------------------------------*/
75
 
76
qmTwiEditNumber::qmTwiEditNumber ( int value, int usort  ) :  QTableWidgetItem(0)
77
{
78
    setData(Qt::EditRole,value );
79
    sort = usort;
80
}
81
 
82
bool qmTwiEditNumber::operator< ( const QTableWidgetItem & other ) const
83
{
84
    if (sort)
85
        return true;
86
 
87
    const qmTwiEditNumber * other_widget = dynamic_cast<const qmTwiEditNumber*>(&other);
88
    if (other_widget)
89
    {
90
        return data(Qt::EditRole).toInt() < other_widget->data(Qt::EditRole).toInt(); 
91
    }
92
    return false;
93
}
94
 
95
/*----------------------------------------------------------------------------
96
** FUNCTION           : 
97
**
98
** DESCRIPTION        :
99
----------------------------------------------------------------------------*/
100
 
101
qmTwiTime::qmTwiTime ( int value  ) :  QTableWidgetItem(0)
102
{
103
    number = value;
104
    setData(0,time_a(value));
105
    setFlags(flags() & ~Qt::ItemIsEditable);
106
}
107
 
108
bool qmTwiTime::operator< ( const QTableWidgetItem & other ) const
109
{
110
    const qmTwiTime * other_widget = dynamic_cast<const qmTwiTime*>(&other);
111
    if (number >= 0 && other_widget->number >= 0)
112
    {
113
        return number < other_widget->number;
114
    }
115
    else if (number >= 0 && other_widget->number < 0)
116
    {
117
        return true;
118
    }
119
    else
120
    {
121
        return false;
122
    }
123
}
124
 
125
/*----------------------------------------------------------------------------
126
** FUNCTION           : 
127
**
128
** DESCRIPTION        :
129
----------------------------------------------------------------------------*/
130
 
317 david 131
qmTwiFlag::qmTwiFlag ( const QString txt, bool checked, int usort  ) :  QTableWidgetItem(txt)
314 david 132
{
317 david 133
    sort = usort;
314 david 134
    setCheckState(checked ? Qt::Checked : Qt::Unchecked);
135
    setFlags(flags() & ~(Qt::ItemIsEditable | Qt::ItemIsUserCheckable));
136
}
137
 
138
bool qmTwiFlag::operator< ( const QTableWidgetItem & other ) const
139
{
317 david 140
    if (sort)
141
        return true;
142
 
314 david 143
    const qmTwiFlag * other_widget = dynamic_cast<const qmTwiFlag*>(&other);
317 david 144
    if (other_widget)
145
    {
146
        return (other_widget->checkState() < checkState()); 
147
    }
148
    else
149
    {
150
        return false;
151
    }
314 david 152
}
153
 
317 david 154
/*----------------------------------------------------------------------------
155
** FUNCTION           : 
156
**
157
** DESCRIPTION        :
158
----------------------------------------------------------------------------*/
159
 
160
qmTwiEditFlag::qmTwiEditFlag ( const QString txt, bool checked, int usort  ) :  QTableWidgetItem(txt)
161
{
162
    sort = usort;
163
    setCheckState(checked ? Qt::Checked : Qt::Unchecked);
164
    setFlags(flags() | (Qt::ItemIsEditable | Qt::ItemIsUserCheckable));
165
}
166
 
167
bool qmTwiEditFlag::operator< ( const QTableWidgetItem & other ) const
168
{
169
    if (sort)
170
        return true;
171
 
172
    const qmTwiEditFlag * other_widget = dynamic_cast<const qmTwiEditFlag*>(&other);
173
    if (other_widget)
174
    {
175
        return (other_widget->checkState() < checkState()); 
176
    }
177
    else
178
    {
179
        return false;
180
    }
181
}
182
 
183