qitemeditorfactory.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/widgets/itemviews/qitemeditorfactory.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3-
4-
5-
6-
7-
8-
9-
10class QBooleanComboBox : public QComboBox-
11{-
12 public: template <typename ThisObject> inline void qt_check_for_QOBJECT_macro(const ThisObject &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i + 1; }-
13#pragma GCC diagnostic push-
14 static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);-
15#pragma GCC diagnostic pop-
16 struct QPrivateSignal {};-
17 -
18-
19public:-
20 QBooleanComboBox(QWidget *parent);-
21 void setValue(bool);-
22 bool value() const;-
23};-
24-
25-
26-
27-
28-
29-
30class QUIntSpinBox : public QSpinBox-
31{-
32 public: template <typename ThisObject> inline void qt_check_for_QOBJECT_macro(const ThisObject &_q_argument) const { int i = qYouForgotTheQ_OBJECT_Macro(this, &_q_argument); i = i + 1; }-
33#pragma GCC diagnostic push-
34 static const QMetaObject staticMetaObject; virtual const QMetaObject *metaObject() const; virtual void *qt_metacast(const char *); virtual int qt_metacall(QMetaObject::Call, int, void **); static inline QString tr(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } __attribute__ ((__deprecated__)) static inline QString trUtf8(const char *s, const char *c = nullptr, int n = -1) { return staticMetaObject.tr(s, c, n); } private: __attribute__((visibility("hidden"))) static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);-
35#pragma GCC diagnostic pop-
36 struct QPrivateSignal {};-
37 -
38public:-
39 explicit QUIntSpinBox(QWidget *parent = 0)-
40 : QSpinBox(parent)-
41 {-
42 connect(this, qFlagLocation("2""valueChanged(int)" "\0" __FILE__ ":" "79"), qFlagLocation("2""uintValueChanged()" "\0" __FILE__ ":" "79"));-
43 }
never executed: end of block
0
44-
45 uint uintValue()-
46 {-
47 return
never executed: return value();
value();
never executed: return value();
0
48 }-
49-
50 void setUIntValue(uint value_)-
51 {-
52 return
never executed: return setValue(value_);
setValue(value_);
never executed: return setValue(value_);
0
53 }-
54-
55public :-
56 void uintValueChanged();-
57};-
58QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const-
59{-
60 QItemEditorCreatorBase *creator = creatorMap.value(userType, 0);-
61 if (!creator
!creatorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
62 const QItemEditorFactory *dfactory = defaultFactory();-
63 return
never executed: return dfactory == this ? 0 : dfactory->createEditor(userType, parent);
dfactory == this
dfactory == thisDescription
TRUEnever evaluated
FALSEnever evaluated
? 0 : dfactory->createEditor(userType, parent);
never executed: return dfactory == this ? 0 : dfactory->createEditor(userType, parent);
0
64 }-
65 return
never executed: return creator->createWidget(parent);
creator->createWidget(parent);
never executed: return creator->createWidget(parent);
0
66}-
67-
68-
69-
70-
71QByteArray QItemEditorFactory::valuePropertyName(int userType) const-
72{-
73 QItemEditorCreatorBase *creator = creatorMap.value(userType, 0);-
74 if (!creator
!creatorDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
75 const QItemEditorFactory *dfactory = defaultFactory();-
76 return
never executed: return dfactory == this ? QByteArray() : dfactory->valuePropertyName(userType);
dfactory == this
dfactory == thisDescription
TRUEnever evaluated
FALSEnever evaluated
? QByteArray() : dfactory->valuePropertyName(userType);
never executed: return dfactory == this ? QByteArray() : dfactory->valuePropertyName(userType);
0
77 }-
78 return
never executed: return creator->valuePropertyName();
creator->valuePropertyName();
never executed: return creator->valuePropertyName();
0
79}-
80-
81-
82-
83-
84QItemEditorFactory::~QItemEditorFactory()-
85{-
86-
87-
88 QSet<QItemEditorCreatorBase*> set = creatorMap.values().toSet();-
89 qDeleteAll(set);-
90}
never executed: end of block
0
91void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)-
92{-
93 QHash<int, QItemEditorCreatorBase *>::iterator it = creatorMap.find(userType);-
94 if (it != creatorMap.end()
it != creatorMap.end()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
95 QItemEditorCreatorBase *oldCreator = it.value();-
96 ((!(oldCreator)) ? qt_assert("oldCreator",__FILE__,203) : qt_noop());-
97 creatorMap.erase(it);-
98 if (!creatorMap.values().contains(oldCreator)
!creatorMap.va...ns(oldCreator)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
99 delete oldCreator;
never executed: delete oldCreator;
0
100 }
never executed: end of block
0
101-
102 creatorMap[userType] = creator;-
103}
never executed: end of block
0
104-
105class QDefaultItemEditorFactory : public QItemEditorFactory-
106{-
107public:-
108 inline QDefaultItemEditorFactory() {}-
109 QWidget *createEditor(int userType, QWidget *parent) const override;-
110 QByteArray valuePropertyName(int) const override;-
111};-
112-
113QWidget *QDefaultItemEditorFactory::createEditor(int userType, QWidget *parent) const-
114{-
115 switch (userType) {-
116-
117 case
never executed: case QVariant::Bool:
QVariant::Bool:
never executed: case QVariant::Bool:
{
0
118 QBooleanComboBox *cb = new QBooleanComboBox(parent);-
119 cb->setFrame(false);-
120 return
never executed: return cb;
cb;
never executed: return cb;
}
0
121-
122-
123 case
never executed: case QVariant::UInt:
QVariant::UInt:
never executed: case QVariant::UInt:
{
0
124 QSpinBox *sb = new QUIntSpinBox(parent);-
125 sb->setFrame(false);-
126 sb->setMinimum(0);-
127 sb->setMaximum(2147483647);-
128 return
never executed: return sb;
sb;
never executed: return sb;
}
0
129 case
never executed: case QVariant::Int:
QVariant::Int:
never executed: case QVariant::Int:
{
0
130 QSpinBox *sb = new QSpinBox(parent);-
131 sb->setFrame(false);-
132 sb->setMinimum((-2147483647 - 1));-
133 sb->setMaximum(2147483647);-
134 return
never executed: return sb;
sb;
never executed: return sb;
}
0
135-
136-
137 case
never executed: case QVariant::Date:
QVariant::Date:
never executed: case QVariant::Date:
{
0
138 QDateTimeEdit *ed = new QDateEdit(parent);-
139 ed->setFrame(false);-
140 return
never executed: return ed;
ed;
never executed: return ed;
}
0
141 case
never executed: case QVariant::Time:
QVariant::Time:
never executed: case QVariant::Time:
{
0
142 QDateTimeEdit *ed = new QTimeEdit(parent);-
143 ed->setFrame(false);-
144 return
never executed: return ed;
ed;
never executed: return ed;
}
0
145 case
never executed: case QVariant::DateTime:
QVariant::DateTime:
never executed: case QVariant::DateTime:
{
0
146 QDateTimeEdit *ed = new QDateTimeEdit(parent);-
147 ed->setFrame(false);-
148 return
never executed: return ed;
ed;
never executed: return ed;
}
0
149-
150 case
never executed: case QVariant::Pixmap:
QVariant::Pixmap:
never executed: case QVariant::Pixmap:
0
151 return
never executed: return new QLabel(parent);
new QLabel(parent);
never executed: return new QLabel(parent);
0
152-
153 case
never executed: case QVariant::Double:
QVariant::Double:
never executed: case QVariant::Double:
{
0
154 QDoubleSpinBox *sb = new QDoubleSpinBox(parent);-
155 sb->setFrame(false);-
156 sb->setMinimum(-double(1.79769313486231570815e+308L));-
157 sb->setMaximum(double(1.79769313486231570815e+308L));-
158 return
never executed: return sb;
sb;
never executed: return sb;
}
0
159-
160-
161 case
never executed: case QVariant::String:
QVariant::String:
never executed: case QVariant::String:
0
162 default
never executed: default:
:
never executed: default:
{
0
163-
164 QExpandingLineEdit *le = new QExpandingLineEdit(parent);-
165 le->setFrame(le->style()->styleHint(QStyle::SH_ItemView_DrawDelegateFrame, 0, le));-
166 if (!le->style()->styleHint(QStyle::SH_ItemView_ShowDecorationSelected, 0, le)
!le->style()->...lected, 0, le)Description
TRUEnever evaluated
FALSEnever evaluated
)
0
167 le->setWidgetOwnsGeometry(true);
never executed: le->setWidgetOwnsGeometry(true);
0
168 return
never executed: return le;
le;
never executed: return le;
}
0
169-
170-
171-
172-
173 }-
174 return
dead code: return 0;
0;
dead code: return 0;
-
175}-
176-
177QByteArray QDefaultItemEditorFactory::valuePropertyName(int userType) const-
178{-
179 switch (userType) {-
180-
181 case
never executed: case QVariant::Bool:
QVariant::Bool:
never executed: case QVariant::Bool:
0
182 return
never executed: return "currentIndex";
"currentIndex";
never executed: return "currentIndex";
0
183-
184-
185 case
never executed: case QVariant::UInt:
QVariant::UInt:
never executed: case QVariant::UInt:
0
186 case
never executed: case QVariant::Int:
QVariant::Int:
never executed: case QVariant::Int:
0
187 case
never executed: case QVariant::Double:
QVariant::Double:
never executed: case QVariant::Double:
0
188 return
never executed: return "value";
"value";
never executed: return "value";
0
189-
190-
191 case
never executed: case QVariant::Date:
QVariant::Date:
never executed: case QVariant::Date:
0
192 return
never executed: return "date";
"date";
never executed: return "date";
0
193 case
never executed: case QVariant::Time:
QVariant::Time:
never executed: case QVariant::Time:
0
194 return
never executed: return "time";
"time";
never executed: return "time";
0
195 case
never executed: case QVariant::DateTime:
QVariant::DateTime:
never executed: case QVariant::DateTime:
0
196 return
never executed: return "dateTime";
"dateTime";
never executed: return "dateTime";
0
197-
198 case
never executed: case QVariant::String:
QVariant::String:
never executed: case QVariant::String:
0
199 default
never executed: default:
:
never executed: default:
0
200-
201 return
never executed: return "text";
"text";
never executed: return "text";
0
202 }-
203}-
204-
205static QItemEditorFactory *q_default_factory = 0;-
206struct QDefaultFactoryCleaner-
207{-
208 inline QDefaultFactoryCleaner() {}-
209 ~QDefaultFactoryCleaner() { delete q_default_factory; q_default_factory = 0; }
never executed: end of block
0
210};-
211-
212-
213-
214-
215-
216-
217const QItemEditorFactory *QItemEditorFactory::defaultFactory()-
218{-
219 static const QDefaultItemEditorFactory factory;-
220 if (q_default_factory
q_default_factoryDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
221 return
never executed: return q_default_factory;
q_default_factory;
never executed: return q_default_factory;
0
222 return
never executed: return &factory;
&factory;
never executed: return &factory;
0
223}-
224-
225-
226-
227-
228-
229-
230-
231void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)-
232{-
233 static const QDefaultFactoryCleaner cleaner;-
234 delete q_default_factory;-
235 q_default_factory = factory;-
236}
never executed: end of block
0
237QItemEditorCreatorBase::~QItemEditorCreatorBase()-
238{-
239-
240}-
241QExpandingLineEdit::QExpandingLineEdit(QWidget *parent)-
242 : QLineEdit(parent), originalWidth(-1), widgetOwnsGeometry(false)-
243{-
244 connect(this, qFlagLocation("2""textChanged(QString)" "\0" __FILE__ ":" "525"), this, qFlagLocation("1""resizeToContents()" "\0" __FILE__ ":" "525"));-
245 updateMinimumWidth();-
246}
never executed: end of block
0
247-
248void QExpandingLineEdit::changeEvent(QEvent *e)-
249{-
250 switch (e->type())-
251 {-
252 case
never executed: case QEvent::FontChange:
QEvent::FontChange:
never executed: case QEvent::FontChange:
0
253 case
never executed: case QEvent::StyleChange:
QEvent::StyleChange:
never executed: case QEvent::StyleChange:
0
254 case
never executed: case QEvent::ContentsRectChange:
QEvent::ContentsRectChange:
never executed: case QEvent::ContentsRectChange:
0
255 updateMinimumWidth();-
256 break;
never executed: break;
0
257 default
never executed: default:
:
never executed: default:
0
258 break;
never executed: break;
0
259 }-
260-
261 QLineEdit::changeEvent(e);-
262}
never executed: end of block
0
263-
264void QExpandingLineEdit::updateMinimumWidth()-
265{-
266 int left, right;-
267 getTextMargins(&left, 0, &right, 0);-
268 int width = left + right + 4 ;-
269 getContentsMargins(&left, 0, &right, 0);-
270 width += left + right;-
271-
272 QStyleOptionFrame opt;-
273 initStyleOption(&opt);-
274-
275 int minWidth = style()->sizeFromContents(QStyle::CT_LineEdit, &opt, QSize(width, 0).-
276 expandedTo(QApplication::globalStrut()), this).width();-
277 setMinimumWidth(minWidth);-
278}
never executed: end of block
0
279-
280void QExpandingLineEdit::resizeToContents()-
281{-
282 int oldWidth = width();-
283 if (originalWidth == -1
originalWidth == -1Description
TRUEnever evaluated
FALSEnever evaluated
)
0
284 originalWidth = oldWidth;
never executed: originalWidth = oldWidth;
0
285 if (QWidget *parent = parentWidget()
QWidget *paren...parentWidget()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
286 QPoint position = pos();-
287 int hintWidth = minimumWidth() + fontMetrics().width(displayText());-
288 int parentWidth = parent->width();-
289 int maxWidth = isRightToLeft()
isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
? position.x() + oldWidth : parentWidth - position.x();
0
290 int newWidth = qBound(originalWidth, hintWidth, maxWidth);-
291 if (widgetOwnsGeometry
widgetOwnsGeometryDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
292 setMaximumWidth(newWidth);
never executed: setMaximumWidth(newWidth);
0
293 if (isRightToLeft()
isRightToLeft()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
294 move(position.x() - newWidth + oldWidth, position.y());
never executed: move(position.x() - newWidth + oldWidth, position.y());
0
295 resize(newWidth, height());-
296 }
never executed: end of block
0
297}
never executed: end of block
0
298-
299-
300-
301-
302-
303QBooleanComboBox::QBooleanComboBox(QWidget *parent)-
304 : QComboBox(parent)-
305{-
306 addItem(QComboBox::tr("False"));-
307 addItem(QComboBox::tr("True"));-
308}
never executed: end of block
0
309-
310void QBooleanComboBox::setValue(bool value)-
311{-
312 setCurrentIndex(value ? 1 : 0);-
313}
never executed: end of block
0
314-
315bool QBooleanComboBox::value() const-
316{-
317 return
never executed: return (currentIndex() == 1);
(currentIndex() == 1);
never executed: return (currentIndex() == 1);
0
318}-
319-
320-
321-
322-
323-
324-
325-
326-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9