source: trunk/doc/html/qiconview-h.html@ 203

Last change on this file since 203 was 190, checked in by rudi, 14 years ago

reference documentation added

File size: 18.1 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/qiconview.h:1 -->
3<html>
4<head>
5<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
6<title>qiconview.h Include File</title>
7<style type="text/css"><!--
8fn { margin-left: 1cm; text-indent: -1cm; }
9a:link { color: #004faf; text-decoration: none }
10a:visited { color: #672967; text-decoration: none }
11body { background: #ffffff; color: black; }
12--></style>
13</head>
14<body>
15
16<table border="0" cellpadding="0" cellspacing="0" width="100%">
17<tr bgcolor="#E5E5E5">
18<td valign=center>
19 <a href="index.html">
20<font color="#004faf">Home</font></a>
21 | <a href="classes.html">
22<font color="#004faf">All&nbsp;Classes</font></a>
23 | <a href="mainclasses.html">
24<font color="#004faf">Main&nbsp;Classes</font></a>
25 | <a href="annotated.html">
26<font color="#004faf">Annotated</font></a>
27 | <a href="groups.html">
28<font color="#004faf">Grouped&nbsp;Classes</font></a>
29 | <a href="functions.html">
30<font color="#004faf">Functions</font></a>
31</td>
32<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>qiconview.h</h1>
33
34<p>This is the verbatim text of the qiconview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
35<hr>
36<pre>
37/****************************************************************************
38** $Id: qiconview-h.html 2051 2007-02-21 10:04:20Z chehrlic $
39**
40** Definition of QIconView widget class
41**
42** Created : 990707
43**
44** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
45**
46** This file is part of the iconview module of the Qt GUI Toolkit.
47**
48** This file may be distributed under the terms of the Q Public License
49** as defined by Trolltech ASA of Norway and appearing in the file
50** LICENSE.QPL included in the packaging of this file.
51**
52** This file may be distributed and/or modified under the terms of the
53** GNU General Public License version 2 as published by the Free Software
54** Foundation and appearing in the file LICENSE.GPL included in the
55** packaging of this file.
56**
57** Licensees holding valid Qt Enterprise Edition or Qt Professional Edition
58** licenses may use this file in accordance with the Qt Commercial License
59** Agreement provided with the Software.
60**
61** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
62** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
63**
64** See http://www.trolltech.com/pricing.html or email sales@trolltech.com for
65** information about Qt Commercial License Agreements.
66** See http://www.trolltech.com/qpl/ for QPL licensing information.
67** See http://www.trolltech.com/gpl/ for GPL licensing information.
68**
69** Contact info@trolltech.com if any conditions of this licensing are
70** not clear to you.
71**
72**********************************************************************/
73
74#ifndef QICONVIEW_H
75#define QICONVIEW_H
76
77#ifndef QT_H
78#include "qscrollview.h"
79#include "qstring.h"
80#include "qrect.h"
81#include "qpoint.h"
82#include "qsize.h"
83#include "qfont.h" // QString-&gt;QFont conversion
84#include "qdragobject.h"
85#include "qbitmap.h"
86#include "qpicture.h"
87#endif // QT_H
88
89#ifndef QT_NO_ICONVIEW
90
91#if !defined( QT_MODULE_ICONVIEW ) || defined( QT_INTERNAL_ICONVIEW )
92#define QM_EXPORT_ICONVIEW
93#else
94#define QM_EXPORT_ICONVIEW Q_EXPORT
95#endif
96
97class QIconView;
98class QPainter;
99class QMimeSource;
100class QMouseEvent;
101class QDragEnterEvent;
102class QDragMoveEvent;
103class QDragLeaveEvent;
104class QKeyEvent;
105class QFocusEvent;
106class QShowEvent;
107class QIconViewItem;
108class QIconViewItemLineEdit;
109class QStringList;
110class QIconDragPrivate;
111
112#ifndef QT_NO_DRAGANDDROP
113
114class QM_EXPORT_ICONVIEW QIconDragItem
115{
116public:
117 QIconDragItem();
118 virtual ~QIconDragItem();
119 virtual QByteArray data() const;
120 virtual void setData( const QByteArray &amp;d );
121 bool operator== ( const QIconDragItem&amp; ) const;
122
123private:
124 QByteArray ba;
125
126};
127
128class QM_EXPORT_ICONVIEW QIconDrag : public QDragObject
129{
130 Q_OBJECT
131public:
132 QIconDrag( QWidget * dragSource, const char* name = 0 );
133 virtual ~QIconDrag();
134
135 void append( const QIconDragItem &amp;item, const QRect &amp;pr, const QRect &amp;tr );
136
137 virtual const char* format( int i ) const;
138 static bool canDecode( QMimeSource* e );
139 virtual QByteArray encodedData( const char* mime ) const;
140
141private:
142 QIconDragPrivate *d;
143 QChar endMark;
144
145 friend class QIconView;
146 friend class QIconViewPrivate;
147#if defined(Q_DISABLE_COPY) // Disabled copy constructor and operator=
148 QIconDrag( const QIconDrag &amp; );
149 QIconDrag &amp;operator=( const QIconDrag &amp; );
150#endif
151};
152
153#endif
154
155class QIconViewToolTip;
156class QIconViewItemPrivate;
157
158class QM_EXPORT_ICONVIEW QIconViewItem : public Qt
159{
160 friend class QIconView;
161 friend class QIconViewToolTip;
162 friend class QIconViewItemLineEdit;
163
164public:
165 QIconViewItem( QIconView *parent );
166 QIconViewItem( QIconView *parent, QIconViewItem *after );
167 QIconViewItem( QIconView *parent, const QString &amp;text );
168 QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text );
169 QIconViewItem( QIconView *parent, const QString &amp;text, const QPixmap &amp;icon );
170 QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text, const QPixmap &amp;icon );
171#ifndef QT_NO_PICTURE
172 QIconViewItem( QIconView *parent, const QString &amp;text, const QPicture &amp;picture );
173 QIconViewItem( QIconView *parent, QIconViewItem *after, const QString &amp;text, const QPicture &amp;picture );
174#endif
175 virtual ~QIconViewItem();
176
177 virtual void setRenameEnabled( bool allow );
178 virtual void setDragEnabled( bool allow );
179 virtual void setDropEnabled( bool allow );
180
181 virtual QString text() const;
182 virtual QPixmap *pixmap() const;
183#ifndef QT_NO_PICTURE
184 virtual QPicture *picture() const;
185#endif
186 virtual QString key() const;
187
188 bool renameEnabled() const;
189 bool dragEnabled() const;
190 bool dropEnabled() const;
191
192 QIconView *iconView() const;
193 QIconViewItem *prevItem() const;
194 QIconViewItem *nextItem() const;
195
196 int index() const;
197
198 virtual void setSelected( bool s, bool cb );
199 virtual void setSelected( bool s );
200 virtual void setSelectable( bool s );
201
202 bool isSelected() const;
203 bool isSelectable() const;
204
205 virtual void repaint();
206
207 virtual bool move( int x, int y );
208 virtual void moveBy( int dx, int dy );
209 virtual bool move( const QPoint &amp;pnt );
210 virtual void moveBy( const QPoint &amp;pnt );
211
212 QRect rect() const;
213 int x() const;
214 int y() const;
215 int width() const;
216 int height() const;
217 QSize size() const;
218 QPoint pos() const;
219 QRect textRect( bool relative = TRUE ) const;
220 QRect pixmapRect( bool relative = TRUE ) const;
221 bool contains( const QPoint&amp; pnt ) const;
222 bool intersects( const QRect&amp; r ) const;
223
224 virtual bool acceptDrop( const QMimeSource *mime ) const;
225
226#ifndef QT_NO_TEXTEDIT
227 void rename();
228#endif
229
230 virtual int compare( QIconViewItem *i ) const;
231
232 virtual void setText( const QString &amp;text );
233 virtual void setPixmap( const QPixmap &amp;icon );
234#ifndef QT_NO_PICTURE
235 virtual void setPicture( const QPicture &amp;icon );
236#endif
237 virtual void setText( const QString &amp;text, bool recalc, bool redraw = TRUE );
238 virtual void setPixmap( const QPixmap &amp;icon, bool recalc, bool redraw = TRUE );
239 virtual void setKey( const QString &amp;k );
240
241 virtual int rtti() const;
242 static int RTTI;
243
244protected:
245#ifndef QT_NO_TEXTEDIT
246 virtual void removeRenameBox();
247#endif
248 virtual void calcRect( const QString &amp;text_ = QString::null );
249 virtual void paintItem( QPainter *p, const QColorGroup &amp;cg );
250 virtual void paintFocus( QPainter *p, const QColorGroup &amp;cg );
251#ifndef QT_NO_DRAGANDDROP
252 virtual void dropped( QDropEvent *e, const QValueList&lt;QIconDragItem&gt; &amp;lst );
253#endif
254 virtual void dragEntered();
255 virtual void dragLeft();
256 void setItemRect( const QRect &amp;r );
257 void setTextRect( const QRect &amp;r );
258 void setPixmapRect( const QRect &amp;r );
259 void calcTmpText();
260 QString tempText() const;
261
262private:
263 void init( QIconViewItem *after = 0
264#ifndef QT_NO_PICTURE
265 , QPicture *pic = 0
266#endif
267 );
268#ifndef QT_NO_TEXTEDIT
269 void renameItem();
270 void cancelRenameItem();
271#endif
272 void checkRect();
273
274 QIconView *view;
275 QString itemText, itemKey;
276 QString tmpText;
277 QPixmap *itemIcon;
278#ifndef QT_NO_PICTURE
279 QPicture *itemPic;
280#endif
281 QIconViewItem *prev, *next;
282 uint allow_rename : 1;
283 uint allow_drag : 1;
284 uint allow_drop : 1;
285 uint selected : 1;
286 uint selectable : 1;
287 uint dirty : 1;
288 uint wordWrapDirty : 1;
289 QRect itemRect, itemTextRect, itemIconRect;
290#ifndef QT_NO_TEXTEDIT
291 QIconViewItemLineEdit *renameBox;
292#endif
293 QRect oldRect;
294
295 QIconViewItemPrivate *d;
296
297};
298
299class QIconViewPrivate; /* don't touch */
300
301class QM_EXPORT_ICONVIEW QIconView : public QScrollView
302{
303 friend class QIconViewItem;
304 friend class QIconViewPrivate;
305 friend class QIconViewToolTip;
306
307 Q_OBJECT
308 // #### sorting and sort direction do not work
309 Q_ENUMS( SelectionMode ItemTextPos Arrangement ResizeMode )
310 Q_PROPERTY( bool sorting READ sorting )
311 Q_PROPERTY( bool sortDirection READ sortDirection )
312 Q_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
313 Q_PROPERTY( int gridX READ gridX WRITE setGridX )
314 Q_PROPERTY( int gridY READ gridY WRITE setGridY )
315 Q_PROPERTY( int spacing READ spacing WRITE setSpacing )
316 Q_PROPERTY( ItemTextPos itemTextPos READ itemTextPos WRITE setItemTextPos )
317 Q_PROPERTY( QBrush itemTextBackground READ itemTextBackground WRITE setItemTextBackground )
318 Q_PROPERTY( Arrangement arrangement READ arrangement WRITE setArrangement )
319 Q_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
320 Q_PROPERTY( int maxItemWidth READ maxItemWidth WRITE setMaxItemWidth )
321 Q_PROPERTY( int maxItemTextLength READ maxItemTextLength WRITE setMaxItemTextLength )
322 Q_PROPERTY( bool autoArrange READ autoArrange WRITE setAutoArrange )
323 Q_PROPERTY( bool itemsMovable READ itemsMovable WRITE setItemsMovable )
324 Q_PROPERTY( bool wordWrapIconText READ wordWrapIconText WRITE setWordWrapIconText )
325 Q_PROPERTY( bool showToolTips READ showToolTips WRITE setShowToolTips )
326 Q_PROPERTY( uint count READ count )
327
328public:
329 enum SelectionMode {
330 Single = 0,
331 Multi,
332 Extended,
333 NoSelection
334 };
335 enum Arrangement {
336 LeftToRight = 0,
337 TopToBottom
338 };
339 enum ResizeMode {
340 Fixed = 0,
341 Adjust
342 };
343 enum ItemTextPos {
344 Bottom = 0,
345 Right
346 };
347
348 QIconView( QWidget* parent=0, const char* name=0, WFlags f = 0 );
349 virtual ~QIconView();
350
351 virtual void insertItem( QIconViewItem *item, QIconViewItem *after = 0L );
352 virtual void takeItem( QIconViewItem *item );
353
354 int index( const QIconViewItem *item ) const;
355
356 QIconViewItem *firstItem() const;
357 QIconViewItem *lastItem() const;
358 QIconViewItem *currentItem() const;
359 virtual void setCurrentItem( QIconViewItem *item );
360 virtual void setSelected( QIconViewItem *item, bool s, bool cb = FALSE );
361
362 uint count() const;
363
364public:
365 virtual void showEvent( QShowEvent * );
366
367 virtual void setSelectionMode( SelectionMode m );
368 SelectionMode selectionMode() const;
369
370 QIconViewItem *findItem( const QPoint &amp;pos ) const;
371 QIconViewItem *findItem( const QString &amp;text, ComparisonFlags compare = BeginsWith ) const;
372 virtual void selectAll( bool select );
373 virtual void clearSelection();
374 virtual void invertSelection();
375
376 virtual void repaintItem( QIconViewItem *item );
377 void repaintSelectedItems();
378
379 void ensureItemVisible( QIconViewItem *item );
380 QIconViewItem* findFirstVisibleItem( const QRect &amp;r ) const;
381 QIconViewItem* findLastVisibleItem( const QRect &amp;r ) const;
382
383 virtual void clear();
384
385 virtual void setGridX( int rx );
386 virtual void setGridY( int ry );
387 int gridX() const;
388 int gridY() const;
389 virtual void setSpacing( int sp );
390 int spacing() const;
391 virtual void setItemTextPos( ItemTextPos pos );
392 ItemTextPos itemTextPos() const;
393 virtual void setItemTextBackground( const QBrush &amp;b );
394 QBrush itemTextBackground() const;
395 virtual void setArrangement( Arrangement am );
396 Arrangement arrangement() const;
397 virtual void setResizeMode( ResizeMode am );
398 ResizeMode resizeMode() const;
399 virtual void setMaxItemWidth( int w );
400 int maxItemWidth() const;
401 virtual void setMaxItemTextLength( int w );
402 int maxItemTextLength() const;
403 virtual void setAutoArrange( bool b );
404 bool autoArrange() const;
405 virtual void setShowToolTips( bool b );
406 bool showToolTips() const;
407
408 void setSorting( bool sort, bool ascending = TRUE );
409 bool sorting() const;
410 bool sortDirection() const;
411
412 virtual void setItemsMovable( bool b );
413 bool itemsMovable() const;
414 virtual void setWordWrapIconText( bool b );
415 bool wordWrapIconText() const;
416
417 bool eventFilter( QObject * o, QEvent * );
418
419 QSize minimumSizeHint() const;
420 QSize sizeHint() const;
421
422 virtual void sort( bool ascending = TRUE );
423
424 virtual void setFont( const QFont &amp; );
425 virtual void setPalette( const QPalette &amp; );
426
427 bool isRenaming() const;
428
429public slots:
430 virtual void arrangeItemsInGrid( const QSize &amp;grid, bool update = TRUE );
431 virtual void arrangeItemsInGrid( bool update = TRUE );
432 virtual void setContentsPos( int x, int y );
433 virtual void updateContents();
434
435signals:
436 void selectionChanged();
437 void selectionChanged( QIconViewItem *item );
438 void currentChanged( QIconViewItem *item );
439 void clicked( QIconViewItem * );
440 void clicked( QIconViewItem *, const QPoint &amp; );
441 void pressed( QIconViewItem * );
442 void pressed( QIconViewItem *, const QPoint &amp; );
443
444 void doubleClicked( QIconViewItem *item );
445 void returnPressed( QIconViewItem *item );
446 void rightButtonClicked( QIconViewItem* item, const QPoint&amp; pos );
447 void rightButtonPressed( QIconViewItem* item, const QPoint&amp; pos );
448 void mouseButtonPressed( int button, QIconViewItem* item, const QPoint&amp; pos );
449 void mouseButtonClicked( int button, QIconViewItem* item, const QPoint&amp; pos );
450 void contextMenuRequested( QIconViewItem* item, const QPoint &amp;pos );
451
452#ifndef QT_NO_DRAGANDDROP
453 void dropped( QDropEvent *e, const QValueList&lt;QIconDragItem&gt; &amp;lst );
454#endif
455 void moved();
456 void onItem( QIconViewItem *item );
457 void onViewport();
458 void itemRenamed( QIconViewItem *item, const QString &amp; );
459 void itemRenamed( QIconViewItem *item );
460
461protected slots:
462 virtual void doAutoScroll();
463 virtual void adjustItems();
464 virtual void slotUpdate();
465
466private slots:
467 void movedContents( int dx, int dy );
468
469protected:
470 void drawContents( QPainter *p, int cx, int cy, int cw, int ch );
471 void contentsMousePressEvent( QMouseEvent *e );
472 void contentsMouseReleaseEvent( QMouseEvent *e );
473 void contentsMouseMoveEvent( QMouseEvent *e );
474 void contentsMouseDoubleClickEvent( QMouseEvent *e );
475 void contentsContextMenuEvent( QContextMenuEvent *e );
476
477#ifndef QT_NO_DRAGANDDROP
478 void contentsDragEnterEvent( QDragEnterEvent *e );
479 void contentsDragMoveEvent( QDragMoveEvent *e );
480 void contentsDragLeaveEvent( QDragLeaveEvent *e );
481 void contentsDropEvent( QDropEvent *e );
482#endif
483
484 void resizeEvent( QResizeEvent* e );
485 void keyPressEvent( QKeyEvent *e );
486 void focusInEvent( QFocusEvent *e );
487 void focusOutEvent( QFocusEvent *e );
488 void enterEvent( QEvent *e );
489
490 virtual void drawRubber( QPainter *p );
491#ifndef QT_NO_DRAGANDDROP
492 virtual QDragObject *dragObject();
493 virtual void startDrag();
494#endif
495 virtual void insertInGrid( QIconViewItem *item );
496 virtual void drawBackground( QPainter *p, const QRect &amp;r );
497
498 void emitSelectionChanged( QIconViewItem * i = 0 );
499 void emitRenamed( QIconViewItem *item );
500
501 QIconViewItem *makeRowLayout( QIconViewItem *begin, int &amp;y, bool &amp;changed );
502
503 void styleChange( QStyle&amp; );
504 void windowActivationChange( bool );
505
506private:
507 void contentsMousePressEventEx( QMouseEvent *e );
508 virtual void drawDragShapes( const QPoint &amp;pnt );
509#ifndef QT_NO_DRAGANDDROP
510 virtual void initDragEnter( QDropEvent *e );
511#endif
512 void drawContents( QPainter* );
513 QIconViewItem* findItemByName( QIconViewItem *start );
514 void handleItemChange( QIconViewItem *old, bool shift,
515 bool control, bool homeend = FALSE);
516
517 int calcGridNum( int w, int x ) const;
518 QIconViewItem *rowBegin( QIconViewItem *item ) const;
519 void updateItemContainer( QIconViewItem *item );
520 void appendItemContainer();
521 void rebuildContainers();
522 enum Direction {
523 DirUp = 0,
524 DirDown,
525 DirLeft,
526 DirRight
527 };
528 QIconViewItem* findItem( Direction dir,
529 const QPoint &amp;relativeTo,
530 const QRect &amp;searchRect ) const;
531 bool neighbourItem( Direction dir,
532 const QPoint &amp;relativeTo,
533 const QIconViewItem *item ) const;
534 QBitmap mask( QPixmap *pix ) const;
535
536 QIconViewPrivate *d;
537
538private: // Disabled copy constructor and operator=
539#if defined(Q_DISABLE_COPY)
540 QIconView( const QIconView &amp; );
541 QIconView&amp; operator=( const QIconView &amp; );
542#endif
543};
544
545#endif // QT_NO_ICONVIEW
546
547#endif // QICONVIEW_H
548</pre>
549<!-- eof -->
550<p><address><hr><div align=center>
551<table width=100% cellspacing=0 border=0><tr>
552<td>Copyright &copy; 2007
553<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
554<td align=right><div align=right>Qt 3.3.8</div>
555</table></div></address></body>
556</html>
Note: See TracBrowser for help on using the repository browser.