libKipi
KDStream.cpp
Go to the documentation of this file.
1/* -*- Mode: C++ -*-
2 KD Tools - a set of useful widgets for Qt
3 $Id: KDStream.cpp 658900 2007-04-28 19:40:56Z gkulzer $
4*/
5
6/****************************************************************************
7** Copyright (C) 2001-2005 Klarälvdalens Datakonsult AB. All rights reserved.
8**
9** This file is part of the KD Tools library.
10**
11** This file may be distributed and/or modified under the terms of the
12** GNU General Public License version 2 as published by the Free Software
13** Foundation and appearing in the file LICENSE.GPL included in the
14** packaging of this file.
15**
16** Licensees holding valid commercial KD Tools licenses may use this file in
17** accordance with the KD Tools Commercial License Agreement provided with
18** the Software.
19**
20** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
21** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22**
23** Contact info@klaralvdalens-datakonsult.se if any conditions of this
24** licensing are not clear to you.
25**
26**********************************************************************/
27
28#if defined KDAB_EVAL
29#include "../evaldialog/evaldialog.h"
30#endif
31
32#include "KDStream.h"
33#include <qcolor.h>
34#include <qpalette.h>
35#include <qcursor.h>
36#include <qdatetime.h>
37#include <qfont.h>
38#include <qpen.h>
39#include <qpoint.h>
40#include <qsize.h>
41#include <qrect.h>
42#include <qregion.h>
43#include <qobject.h>
44#include <qstringlist.h>
45#include <qmetaobject.h>
46#include <qvariant.h>
47#include <qpointarray.h>
48#include <qsizepolicy.h>
49#include <qbitarray.h>
50#include <qstrlist.h>
51
52#if (QT_VERSION >= 300 )
53#include <qkeysequence.h>
54#include <qpixmap.h>
55#include <qimage.h>
56#endif
57
74
75
79KDStream::KDStream( QString* outputString ) :_out(outputString)
80{
81#if defined KDAB_EVAL
82 EvalDialog::checkEvalLicense( "KD Tools" );
83#endif
84
85}
86
87
92{
93 flush();
94}
95
96
101{
102 if ( _output.isEmpty() )
103 return;
104
105 if ( _out )
106 *_out += _output;
107 else
108 qDebug( "%s", _output.local8Bit().data() );
109 _output = QString();
110}
111
112
118{
119 _output += ( b ? QString::fromLatin1("true") : QString::fromLatin1("false") );
120 return *this;
121}
122
127{
128 _output += QString::fromLatin1("%1").arg( ch );
129 return *this;
130}
131
132
137{
138 _output += QString::number( num );
139 return *this;
140}
141
142
147{
148 _output += QString::number( num );
149 return *this;
150}
151
152
157{
158 _output += QString::number( num );
159 return *this;
160}
161
165KDStream& KDStream::operator<<( unsigned short num )
166{
167 _output += QString::number( num );
168 return *this;
169}
170
175{
176 _output += QString::number( num );
177 return *this;
178}
179
183KDStream& KDStream::operator<<( unsigned int num )
184{
185 _output += QString::number( num );
186 return *this;
187}
188
193{
194 _output += QString::number( num );
195 return *this;
196}
197
201KDStream& KDStream::operator<<( unsigned long num )
202{
203 _output += QString::number( num );
204 return *this;
205}
206
211{
212 *this << QString::fromLocal8Bit( ch );
213 return *this;
214}
215
221{
222 _output += QString().sprintf("%p",p);
223 return *this;
224}
225
226
230KDStream& KDStream::operator<<( const QString& str )
231{
232 int index = str.findRev( '\n' );
233 if ( index == -1 )
234 _output += str;
235 else {
236 _output += str.left( index ) + '\n';
237 flush();
238 _output += str.mid( index+1 );
239 }
240 return *this;
241}
242
246KDStream& KDStream::operator<<( const QCString& str )
247{
248 *this << QString( str );
249 return *this;
250}
251
252
257{
258 return (*func)(*this);
259}
260
265{
266 stream << QString::fromLatin1("\n");
267 stream.flush();
268 return stream;
269}
270
275{
276 stream.flush();
277 return stream;
278}
279
284{
285 _output += QString( ch );
286 return *this;
287}
288
289
294KDStream& KDStream::operator<<( const QColor& col )
295{
296 _output += QColor2Str( col );
297 return *this;
298}
299
304KDStream& KDStream::operator<<( const QColorGroup& colgrp )
305{
306 _output +=
307 QString::fromLatin1("foreground: ") + QColor2Str(colgrp.foreground()) + QString::fromLatin1(", ") +
308 QString::fromLatin1("button: ") + QColor2Str(colgrp.button()) + QString::fromLatin1(", ") +
309 QString::fromLatin1("light: ") + QColor2Str(colgrp.light()) + QString::fromLatin1(", ") +
310 QString::fromLatin1("dark: ") + QColor2Str(colgrp.dark()) + QString::fromLatin1(", ") +
311 QString::fromLatin1("mid: ") + QColor2Str(colgrp.mid()) + QString::fromLatin1(", ") +
312 QString::fromLatin1("text: ") + QColor2Str(colgrp.text()) + QString::fromLatin1(", ") +
313 QString::fromLatin1("base: ") + QColor2Str(colgrp.base()) + QString::fromLatin1(", ") +
314 QString::fromLatin1("background: ") + QColor2Str(colgrp.background()) + QString::fromLatin1(", ") +
315 QString::fromLatin1("midlight: ") + QColor2Str(colgrp.midlight()) + QString::fromLatin1(", ") +
316 QString::fromLatin1("brightText: ") + QColor2Str(colgrp.brightText()) + QString::fromLatin1(", ") +
317 QString::fromLatin1("buttonText: ") + QColor2Str(colgrp.buttonText()) + QString::fromLatin1(", ") +
318 QString::fromLatin1("shadow: ") + QColor2Str(colgrp.shadow()) + QString::fromLatin1(", ") +
319 QString::fromLatin1("highlight: ") + QColor2Str(colgrp.highlight()) + QString::fromLatin1(", ") +
320 QString::fromLatin1("highlightedText: ") + QColor2Str(colgrp.highlightedText());
321 return *this;
322}
323
328KDStream& KDStream::operator<<( const QPalette& palette )
329{
330 *this << QString::fromLatin1("active: ") << palette.active() << endl
331 << QString::fromLatin1("inactive: ") << palette.inactive() << endl
332 << QString::fromLatin1("disabled: ") << palette.disabled();
333
334 return *this;
335}
336
341KDStream& KDStream::operator<<( const QCursor& cursor )
342{
343
344 QString type;
345 switch ( cursor.shape() ) {
346#if ( QT_VERSION < 300 )
347 case ArrowCursor: type = QString::fromLatin1("ArrowCursor"); break;
348 case UpArrowCursor: type = QString::fromLatin1("UpArrowCursor"); break;
349 case CrossCursor: type = QString::fromLatin1("CrossCursor"); break;
350 case WaitCursor: type = QString::fromLatin1("WaitCursor"); break;
351 case IbeamCursor: type = QString::fromLatin1("IbeamCursor"); break;
352 case SizeVerCursor: type = QString::fromLatin1("SizeVerCursor"); break;
353 case SizeHorCursor: type = QString::fromLatin1("SizeHorCursor"); break;
354 case SizeBDiagCursor: type = QString::fromLatin1("SizeBDiagCursor"); break;
355 case SizeFDiagCursor: type = QString::fromLatin1("SizeFDiagCursor"); break;
356 case SizeAllCursor: type = QString::fromLatin1("SizeAllCursor"); break;
357 case BlankCursor: type = QString::fromLatin1("BlankCursor"); break;
358 case SplitVCursor: type = QString::fromLatin1("SplitVCursor"); break;
359 case SplitHCursor: type = QString::fromLatin1("SplitHCursor"); break;
360 case PointingHandCursor: type = QString::fromLatin1("PointingHandCursor"); break;
361 case ForbiddenCursor: type = QString::fromLatin1("ForbiddenCursor"); break;
362 case BitmapCursor: type = QString::fromLatin1("BitmapCursor"); break;
363#else
364 case Qt::ArrowCursor: type = QString::fromLatin1("ArrowCursor"); break;
365 case Qt::UpArrowCursor: type = QString::fromLatin1("UpArrowCursor"); break;
366 case Qt::CrossCursor: type = QString::fromLatin1("CrossCursor"); break;
367 case Qt::WaitCursor: type = QString::fromLatin1("WaitCursor"); break;
368 case Qt::IbeamCursor: type = QString::fromLatin1("IbeamCursor"); break;
369 case Qt::SizeVerCursor: type = QString::fromLatin1("SizeVerCursor"); break;
370 case Qt::SizeHorCursor: type = QString::fromLatin1("SizeHorCursor"); break;
371 case Qt::SizeBDiagCursor: type = QString::fromLatin1("SizeBDiagCursor"); break;
372 case Qt::SizeFDiagCursor: type = QString::fromLatin1("SizeFDiagCursor"); break;
373 case Qt::SizeAllCursor: type = QString::fromLatin1("SizeAllCursor"); break;
374 case Qt::BlankCursor: type = QString::fromLatin1("BlankCursor"); break;
375 case Qt::SplitVCursor: type = QString::fromLatin1("SplitVCursor"); break;
376 case Qt::SplitHCursor: type = QString::fromLatin1("SplitHCursor"); break;
377 case Qt::PointingHandCursor: type = QString::fromLatin1("PointingHandCursor"); break;
378 case Qt::ForbiddenCursor: type = QString::fromLatin1("ForbiddenCursor"); break;
379 case Qt::BitmapCursor: type = QString::fromLatin1("BitmapCursor"); break;
380#endif
381 }
382
383 _output += type;
384
385 return *this;
386}
387
392KDStream& KDStream::operator<<( const QDate& date )
393{
394 _output += date.toString();
395 return *this;
396}
397
402KDStream& KDStream::operator<<( const QDateTime& datetime )
403{
404 _output += datetime.toString();
405 return *this;
406}
407
412KDStream& KDStream::operator<<( const QTime& time )
413{
414 _output += time.toString();
415 return *this;
416}
417
421KDStream& KDStream::operator<<( const QFont& font )
422{
423 _output += font.rawName();
424 return *this;
425}
426
433{
434 QString style;
435 switch ( pen.style() ) {
436 case Qt::NoPen: style = QString::fromLatin1("NoPen"); break;
437 case Qt::SolidLine: style = QString::fromLatin1("SolidLine"); break;
438 case Qt::DashLine: style = QString::fromLatin1("DashLine"); break;
439 case Qt::DotLine: style = QString::fromLatin1("DotLine"); break;
440 case Qt::DashDotLine: style = QString::fromLatin1("DashDotLine"); break;
441 case Qt::DashDotDotLine : style = QString::fromLatin1("DashDotDotLine "); break;
442 case Qt::MPenStyle : break; // ignore
443 }
444
445 _output += QString::fromLatin1("QPen(%1,%2,%3)")
446 .arg( pen.width() )
447 .arg( QColor2Str( pen.color() ) )
448 .arg( style );
449 return *this;
450}
451
455KDStream& KDStream::operator<<( const QPoint& point )
456{
457 _output += QString::fromLatin1("(%1,%2)").arg(point.x()).arg(point.y() );
458 return *this;
459}
460
464KDStream& KDStream::operator<<( const QSize& size )
465{
466 _output += QString::fromLatin1("%1x%2").arg(size.width()).arg(size.height());
467 return *this;
468}
469
474KDStream& KDStream::operator<<( const QRect& rect )
475{
476 QString xplus = (rect.x() >= 0) ? QString::fromLatin1("+") : QString::fromLatin1("");
477 QString yplus = (rect.y() >= 0) ? QString::fromLatin1("+") : QString::fromLatin1("");
478 _output += QString::fromLatin1("%1x%2%3%4%5%6")
479 .arg( rect.width() )
480 .arg( rect.height() )
481 .arg( xplus )
482 .arg( rect.x() )
483 .arg( yplus )
484 .arg( rect.y() );
485
486 return *this;
487}
488
495QString KDStream::QColor2Str( const QColor& col )
496{
497 if ( col == Qt::black )
498 return QString::fromLatin1("black");
499 else if ( col == Qt::white )
500 return QString::fromLatin1("white");
501 else if ( col == Qt::darkGray )
502 return QString::fromLatin1("darkGray");
503 else if ( col == Qt::gray )
504 return QString::fromLatin1("gray");
505 else if ( col == Qt::lightGray )
506 return QString::fromLatin1("lightGray");
507 else if ( col == Qt::red )
508 return QString::fromLatin1("red");
509 else if ( col == Qt::green )
510 return QString::fromLatin1("green");
511 else if ( col == Qt::blue )
512 return QString::fromLatin1("blue");
513 else if ( col == Qt::cyan )
514 return QString::fromLatin1("cyan");
515 else if ( col == Qt::magenta )
516 return QString::fromLatin1("magenta");
517 else if ( col == Qt::yellow )
518 return QString::fromLatin1("yellow");
519 else if ( col == Qt::darkRed )
520 return QString::fromLatin1("darkRed");
521 else if ( col == Qt::darkGreen )
522 return QString::fromLatin1("darkGreen");
523 else if ( col == Qt::darkBlue )
524 return QString::fromLatin1("darkBlue");
525 else if ( col == Qt::darkCyan )
526 return QString::fromLatin1("darkCyan");
527 else if ( col == Qt::darkMagenta )
528 return QString::fromLatin1("darkMagenta");
529 else if ( col == Qt::darkYellow )
530 return QString::fromLatin1("darkYellow");
531 else if ( col == Qt::color0 )
532 return QString::fromLatin1("color0");
533 else if ( col == Qt::color1 )
534 return QString::fromLatin1("color1");
535 else
536 return col.name();
537}
538
543KDStream& KDStream::operator<<( const QObject& obj )
544{
545 *this << QString::fromLatin1(obj.className()) + QString::fromLatin1("(") + QString::fromLatin1(obj.name()) << QString::fromLatin1("):")<< endl;
546 QMetaObject* meta = obj.metaObject();
547 QStrList props = meta->propertyNames(true);
548
549 unsigned int maxWidth = 0;
550 for ( QStrListIterator it(props) ; *it; ++it ) {
551 maxWidth = QMAX( maxWidth, QString::fromLatin1(*it).length() );
552 }
553
554 for ( QStrListIterator it2(props) ; *it2; ++it2 ) {
555 *this << QString::fromLatin1(" ") << QString::fromLatin1(*it2).leftJustify(maxWidth) << QString::fromLatin1(": [") << obj.property(*it2) << QString::fromLatin1("]") << endl;
556 }
557 return *this;
558}
559
564KDStream& KDStream::operator<<( const QVariant& var)
565{
566 switch (var.type() )
567 {
568 case QVariant::Invalid: *this << QString::fromLatin1("*INVALID*"); break;
569 case QVariant::Map: *this << var.toMap(); break;
570 case QVariant::List: *this << var.toList(); break;
571 case QVariant::String: *this << var.toString(); break;
572 case QVariant::StringList: *this << var.toStringList(); break;
573 case QVariant::Font: *this << var.toFont(); break;
574 case QVariant::Pixmap: *this << var.toPixmap();break;
575
576 case QVariant::Brush: *this << var.toBrush(); break;
577 case QVariant::Rect: *this << var.toRect(); break;
578 case QVariant::Size: *this << var.toSize(); break;
579 case QVariant::Color: *this << var.toColor(); break;
580 case QVariant::Palette: *this << var.toPalette(); break;
581 case QVariant::ColorGroup: *this << var.toColorGroup(); break;
582 case QVariant::IconSet: *this << QString::fromLatin1("-"); break;
583 case QVariant::Point: *this << var.toPoint(); break;
584 case QVariant::Image: *this << var.toImage(); break;
585 case QVariant::Int: *this << var.toInt(); break;
586 case QVariant::UInt: *this << var.toUInt(); break;
587 case QVariant::Bool: *this << var.toBool(); break;
588 case QVariant::Double: *this << var.toDouble(); break;
589 case QVariant::CString: *this << var.toCString(); break;
590 case QVariant::PointArray: *this << var.toPointArray(); break;
591 case QVariant::Region: *this << QString::fromLatin1("-"); break;
592 case QVariant::Bitmap: *this << QString::fromLatin1("-"); break;
593 case QVariant::Cursor: *this << var.toCursor(); break;
594 case QVariant::SizePolicy: *this << var.toSizePolicy(); break;
595#if ( QT_VERSION >= 300 )
596 case QVariant::Date: *this << var.toDate(); break;
597 case QVariant::Time: *this << var.toTime(); break;
598 case QVariant::DateTime: *this << var.toDateTime(); break;
599 case QVariant::ByteArray: *this << var.toByteArray(); break;
600 case QVariant::BitArray: *this << var.toBitArray(); break;
601 case QVariant::KeySequence: *this << var.toKeySequence(); break;
602#if ( QT_VERSION >= 0x030100 )
603 case QVariant::Pen: *this << var.toPen(); break;
604#endif
605#endif
606 }
607 return *this;
608}
609
615KDStream& KDStream::operator<<( const QBrush& brush)
616{
617 QString style;
618 switch ( brush.style() )
619 {
620 case Qt::NoBrush: style = QString::fromLatin1("NoBrush"); break;
621 case Qt::SolidPattern: style = QString::fromLatin1("SolidPattern"); break;
622 case Qt::Dense1Pattern: style = QString::fromLatin1("Dense1Pattern"); break;
623 case Qt::Dense2Pattern: style = QString::fromLatin1("Dense2Pattern"); break;
624 case Qt::Dense3Pattern: style = QString::fromLatin1("Dense3Pattern"); break;
625 case Qt::Dense4Pattern: style = QString::fromLatin1("Dense4Pattern"); break;
626 case Qt::Dense5Pattern: style = QString::fromLatin1("Dense5Pattern"); break;
627 case Qt::Dense6Pattern: style = QString::fromLatin1("Dense6Pattern"); break;
628 case Qt::Dense7Pattern: style = QString::fromLatin1("Dense7Pattern"); break;
629 case Qt::HorPattern: style = QString::fromLatin1("HorPattern"); break;
630 case Qt::VerPattern: style = QString::fromLatin1("VerPattern"); break;
631 case Qt::CrossPattern: style = QString::fromLatin1("CrossPattern"); break;
632 case Qt::BDiagPattern: style = QString::fromLatin1("BDiagPattern"); break;
633 case Qt::FDiagPattern: style = QString::fromLatin1("FDiagPattern"); break;
634 case Qt::DiagCrossPattern: style = QString::fromLatin1("DiagCrossPattern"); break;
635 case Qt::CustomPattern: style = QString::fromLatin1("CustomPattern"); break;
636 }
637 _output += QString::fromLatin1("QBrush(%1,%2)").arg(style).arg(QColor2Str(brush.color()));
638 return *this;
639}
640
646KDStream& KDStream::operator<<( const QSizePolicy& policy)
647{
648 QString hor, ver;
649
650 switch ( policy.horData() )
651 {
652 case QSizePolicy::Fixed: hor=QString::fromLatin1("Fixed"); break;
653 case QSizePolicy::Minimum : hor=QString::fromLatin1("Minimum "); break;
654 case QSizePolicy::Maximum: hor=QString::fromLatin1("Maximum"); break;
655 case QSizePolicy::Preferred: hor=QString::fromLatin1("Preferred"); break;
656 case QSizePolicy::MinimumExpanding: hor=QString::fromLatin1("MinimumExpanding"); break;
657 case QSizePolicy::Expanding: hor=QString::fromLatin1("Expanding"); break;
658#if ( QT_VERSION >= 300 )
659 case QSizePolicy::Ignored: hor=QString::fromLatin1("Ignored"); break;
660#endif
661 }
662 switch ( policy.verData() )
663 {
664 case QSizePolicy::Fixed: ver=QString::fromLatin1("Fixed"); break;
665 case QSizePolicy::Minimum : ver=QString::fromLatin1("Minimum "); break;
666 case QSizePolicy::Maximum: ver=QString::fromLatin1("Maximum"); break;
667 case QSizePolicy::Preferred: ver=QString::fromLatin1("Preferred"); break;
668 case QSizePolicy::MinimumExpanding: ver=QString::fromLatin1("MinimumExpanding"); break;
669 case QSizePolicy::Expanding: ver=QString::fromLatin1("Expanding"); break;
670#if ( QT_VERSION >= 300 )
671 case QSizePolicy::Ignored: ver=QString::fromLatin1("Ignored"); break;
672#endif
673 }
674 QString hforw = policy.hasHeightForWidth() ? QString::fromLatin1("true") : QString::fromLatin1("false");
675 _output += QString::fromLatin1("QSizePolicy(hor=%1,ver=%2, hasHeightForWidth=%3)")
676 .arg(hor).arg(ver).arg(hforw);
677 return *this;
678}
679
680#if ( QT_VERSION >= 300 )
685KDStream& KDStream::operator<<( const QKeySequence& keySeq)
686{
687 _output += QString(keySeq);
688 return *this;
689}
690#endif
691
696KDStream& KDStream::operator<<( const QStrList& list )
697{
698 KDStream_ptrListStream( *this, QStrListIterator( list ), false );
699 return *this;
700}
701
702
703KDStream& KDStream::operator<<( const QPixmap& pixmap )
704{
705 _output += QString("QPixmap[null=%1,width=%2,height=%3,depth=%4,hasMask=%5,hasAlpha=%6]")
706 .arg(pixmap.isNull()).arg(pixmap.width()).arg(pixmap.height())
707 .arg(pixmap.depth()).arg(pixmap.mask() != 0).arg(pixmap.hasAlpha() );
708 return *this;
709}
710
711
712KDStream& KDStream::operator<<( const QImage& pixmap )
713{
714 _output += QString("QImage[null=%1,width=%2,height=%3,depth=%4,hasAlpha=%5]")
715 .arg(pixmap.isNull()).arg(pixmap.width()).arg(pixmap.height())
716 .arg(pixmap.depth()).arg(pixmap.hasAlphaBuffer() );
717 return *this;
718}
719
720/* Classes that do not need to be supported:
721
722QCollection - abstract class // Qt 2
723QBitArray - QArray implemented.
724QByteArray - QAray implemented.
725QPointArray - QAray implemented.
726QGArray - internal class // Qt 2
727QStringList - It's just a QValueList.
728
729QGCache // Qt 2
730QGDict // Qt 2
731QGList // Qt 2
732QGVector // Qt 2
733QGCacheIterator // Qt 2
734QAsciiCacheIterator
735QCacheIterator
736QIntCacheIterator
737QGDictIterator // Qt 2
738QAsciiDictIterator
739QDictIterator
740QIntDictIterator
741QPtrDictIterator
742QListIterator // Qt 2
743QStrListIterator
744QGListIterator // Qt 2
745QMapConstIterator
746QMapIterator
747QBitVal
748QValueListConstIterator
749QValueListIterator
750QPtrListIterator// Qt 3
751QPtrCollection// Qt 3
752QSortedList - Depricated // Qt 2
753
754*/
755
756/* Qt classes not yet supported:
757QRegion
758QAccel
759QAccessible // Qt 3
760QAccessibleInterface// Qt 3
761QAccessibleObject// Qt 3
762QAction
763QActionGroup
764QApplication
765QAsyncIO // Qt 2
766QBitmap
767QBoxLayout
768QBuffer
769QButton
770QButtonGroup
771QCDEStyle
772QCanvas
773QCanvasEllipse
774QCanvasItem
775QCanvasItemList// Qt 3
776QCanvasLine
777QCanvasPixmap
778QCanvasPixmapArray
779QCanvasPolygon
780QCanvasPolygonalItem
781QCanvasRectangle
782QCanvasSpline// Qt 3
783QCanvasSprite
784QCanvasText
785QCanvasView
786QCheckBox
787QCheckListItem
788QCheckTableItem// Qt 3
789QChildEvent
790QClipboard
791QCloseEvent
792QColorDialog
793QColorDrag
794QComboBox
795QComboTableItem// Qt 3
796QCommonStyle
797QComponentFactory// Qt 3
798QComponentFactoryInterface// Qt 3
799QComponentInterface// Qt 3
800QComponentServerInterface// Qt 3
801QContextMenuEvent// Qt 3
802QCopChannel
803QCustomEvent
804QCustomMenuItem
805QDataBrowser// Qt 3
806QDataPump // Qt 2
807QDataSink // Qt 2
808QDataSource // Qt 2
809QDataStream
810QDataTable// Qt 3
811QDataView// Qt 3
812QDateEdit// Qt 3
813QDateTimeEdit// Qt 3
814QDesktopWidget// Qt 3
815QDial
816QDialog
817QDir
818QDns
819QDockArea// Qt 3
820QDockWindow// Qt 3
821QDomAttr
822QDomCDATASection
823QDomCharacterData
824QDomComment
825QDomDocument
826QDomDocumentFragment
827QDomDocumentType
828QDomElement
829QDomEntity
830QDomEntityReference
831QDomImplementation
832QDomNamedNodeMap
833QDomNode
834QDomNodeList
835QDomNotation
836QDomProcessingInstruction
837QDomText
838QDoubleValidator
839QDragEnterEvent
840QDragLeaveEvent
841QDragMoveEvent
842QDragObject
843QDropEvent
844QDropSite // Qt 2
845QEditorFactory// Qt 3
846QErrorMessage// Qt 3
847QEucJpCodec // Qt 2
848QEucKrCodec // Qt 2
849QEvent
850QFeatureListInterface// Qt 3
851QFile
852QFileDialog
853QFileIconProvider
854QFileInfo
855QFilePreview
856QFocusData
857QFocusEvent
858QFontDatabase
859QFontDialog
860QFontInfo
861QFontManager// Qt 3
862QFontMetrics
863QFrame
864QFtp
865QGL
866QGLColormap// Qt 3
867QGLContext
868QGLFormat
869QGLWidget
870QGLayoutIterator
871QGbkCodec // Qt 2
872QGrid
873QGridLayout
874QGridView// Qt 3
875QGroupBox
876QGuardedPtr
877QHBox
878QHBoxLayout
879QHButtonGroup
880QHGroupBox
881QHeader
882QHideEvent
883QHostAddress
884QHttp// Qt 3
885QIMEvent// Qt 3
886QIODevice
887QIODeviceSource // Qt 2
888QIconDrag
889QIconDragItem
890QIconSet
891QIconView
892QIconViewItem
893QImageConsumer
894QImageDecoder
895QImageDrag
896QImageFormat
897QImageFormatType
898QImageIO
899QInputDialog
900QIntValidator
901QInterlaceStyle
902QJisCodec // Qt 2
903QJpUnicodeConv // Qt 2
904QKeyEvent
905QLCDNumber
906QLNode // Qt 2
907QLabel
908QLayout
909QLayoutItem
910QLayoutIterator
911QLibrary// Qt 3
912QLibraryInterface// Qt 3
913QLineEdit
914QListBox
915QListBoxItem
916QListBoxPixmap
917QListBoxText
918QListView
919QListViewItem
920QListViewItemIterator
921QLocalFs
922QLock// Qt 3
923QMainWindow
924QMap
925QMemArray// Qt 3
926QMenuBar
927QMenuData
928QMessageBox
929QMetaObject
930QMetaProperty
931QMimeSource
932QMimeSourceFactory
933QMotifPlusStyle
934QMotifStyle
935QMouseEvent
936QMoveEvent
937QMovie
938QMultiLineEdit // Qt 2
939QMutex
940QNPInstance
941QNPStream
942QNPWidget
943QNPlugin
944QNetworkOperation
945QNetworkProtocol
946QObject
947QPNGImagePacker
948QPaintDevice
949QPaintDeviceMetrics
950QPaintEvent
951QPainter
952QPicture
953QPixmapCache
954QPlatinumStyle
955QPluginManager// Qt 3
956QPopupMenu
957QPrinter
958QProcess// Qt 3
959QProgressBar
960QProgressDialog
961QPushButton
962QRadioButton
963QRangeControl
964QRegExp
965QRegExpValidator// Qt 3
966QResizeEvent
967QSGIStyle
968QScreen// Qt 3
969QScreenCursor // Qt 2
970QScrollBar
971QScrollView
972QSemaphore
973QSemiModal // Qt 2
974QServerSocket
975QSessionManager
976QSettings// Qt 3
977QShared // Qt 2
978QShowEvent
979QSignal
980QSignalMapper
981QSimpleRichText
982QSizeGrip
983QSjisCodec // Qt 2
984QSlider
985QSocket
986QSocketDevice
987QSocketNotifier
988QSound
989QSpacerItem
990QSpinBox
991QSplitter
992QSql// Qt 3
993QSqlCursor// Qt 3
994QSqlDatabase// Qt 3
995QSqlDriver// Qt 3
996QSqlEditorFactory// Qt 3
997QSqlError// Qt 3
998QSqlField// Qt 3
999QSqlForm// Qt 3
1000QSqlIndex// Qt 3
1001QSqlPropertyMap// Qt 3
1002QSqlQuery// Qt 3
1003QSqlRecord// Qt 3
1004QSqlResult// Qt 3
1005QStatusBar
1006QStoredDrag
1007QStyle
1008QStyleSheet
1009QStyleSheetItem
1010QTab
1011QTabBar
1012QTabDialog
1013QTabWidget
1014QTable
1015QTableItem
1016QTableSelection
1017QTableView // Qt 2
1018QTabletEvent// Qt 3
1019QTextBrowser
1020QTextCodec
1021QTextDecoder
1022QTextDrag
1023QTextEdit// Qt 3
1024QTextEncoder
1025QTextIStream
1026QTextOStream
1027QTextStream
1028QTextView // Qt 2
1029QThread
1030QTimeEdit// Qt 3
1031QTimer
1032QTimerEvent
1033QToolBar
1034QToolButton
1035QToolTip
1036QToolTipGroup
1037QTranslator
1038QTranslatorMessage
1039QTsciiCodec // Qt 2
1040QUnknownInterface// Qt 3
1041QUriDrag
1042QUrl
1043QUrlInfo// Qt 3
1044QUrlOperator
1045QUuid// Qt 3
1046QVBox
1047QVBoxLayout
1048QVButtonGroup
1049QVGroupBox
1050QValidator
1051QVariant
1052QWMatrix
1053QWSDecoration
1054QWSKeyboardHandler
1055QWSMouseHandler
1056QWSServer
1057QWSWindow
1058QWaitCondition
1059QWhatsThis
1060QWheelEvent
1061QWidget
1062QWidgetFactory// Qt 3
1063QWidgetItem
1064QWidgetStack
1065QWindowsMime// Qt 3
1066QWindowsStyle
1067QWizard
1068QWorkspace
1069QXmlAttributes
1070QXmlContentHandler
1071QXmlDTDHandler
1072QXmlDeclHandler
1073QXmlDefaultHandler
1074QXmlEntityResolver
1075QXmlErrorHandler
1076QXmlInputSource
1077QXmlLexicalHandler
1078QXmlLocator
1079QXmlNamespaceSupport
1080QXmlParseException
1081QXmlReader
1082QXmlSimpleReader
1083QXtApplication
1084QXtWidget
1085Qt
1086*/
KDStream & endl(KDStream &stream)
Definition KDStream.cpp:264
KDStream & flush(KDStream &stream)
Definition KDStream.cpp:274
KDStream & endl(KDStream &stream)
Definition KDStream.cpp:264
void KDStream_ptrListStream(KDStream &st, Iterator it, bool doubleDeref)
Definition KDStream.h:165
KDStream &(* KDSTREAMFUNC)(KDStream &)
Definition KDStream.h:82
Streaming operators for Qt classes.
Definition KDStream.h:87
void flush()
Definition KDStream.cpp:100
QString QColor2Str(const QColor &col)
Definition KDStream.cpp:495
KDStream(QString *outputString=0)
Definition KDStream.cpp:79
KDStream & operator<<(bool)
Definition KDStream.cpp:117
~KDStream()
Definition KDStream.cpp:91