• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KDE3Support

  • kde3support
  • kdeui
k3iconview.h
Go to the documentation of this file.
1/* This file is part of the KDE libraries
2 Copyright (C) 1999 Torben Weis <weis@kde.org>
3
4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public
6 License version 2 as published by the Free Software Foundation.
7
8 This library is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 Library General Public License for more details.
12
13 You should have received a copy of the GNU Library General Public License
14 along with this library; see the file COPYING.LIB. If not, write to
15 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
16 Boston, MA 02110-1301, USA.
17*/
18#ifndef KICONVIEW_H
19#define KICONVIEW_H
20
21#include <kde3support_export.h>
22
23#include <Qt3Support/Q3IconView>
24
41class KDE3SUPPORT_EXPORT K3IconView : public Q3IconView
42{
43 friend class K3IconViewItem;
44 Q_OBJECT
45 Q_ENUMS( Mode )
46 Q_PROPERTY( Mode mode READ mode WRITE setMode )
47
48public:
49 K3IconView( QWidget *parent = 0, const char *name = 0, Qt::WindowFlags f = 0 );
50
51 ~K3IconView();
52
61 enum Mode { Execute, Select };
62
72 void setMode( Mode m );
73
77 Mode mode() const;
78
82 virtual void setFont( const QFont & );
83
90 void setIconTextHeight( int n );
91
95 int iconTextHeight() const;
96
100 virtual void takeItem( Q3IconViewItem * item );
101
102Q_SIGNALS:
103
113 void executed( Q3IconViewItem *item );
114
125 void executed( Q3IconViewItem *item, const QPoint &pos );
126
135 void held( Q3IconViewItem *item );
136
150 void doubleClicked( Q3IconViewItem *item, const QPoint &pos );
151
152protected Q_SLOTS:
153 void slotOnItem( Q3IconViewItem *item );
154 void slotOnViewport();
155 void slotSettingsChanged(int);
156
160 void slotAutoSelect();
161
162protected:
163 void emitExecute( Q3IconViewItem *item, const QPoint &pos );
164 void updateDragHoldItem( QDropEvent *e );
165
166 virtual void focusOutEvent( QFocusEvent *fe );
167 virtual void leaveEvent( QEvent *e );
168 virtual void contentsMousePressEvent( QMouseEvent *e );
169 virtual void contentsMouseDoubleClickEvent ( QMouseEvent * e );
170 virtual void contentsMouseReleaseEvent( QMouseEvent *e );
171 virtual void contentsDragEnterEvent( QDragEnterEvent *e );
172 virtual void contentsDragLeaveEvent( QDragLeaveEvent *e );
173 virtual void contentsDragMoveEvent( QDragMoveEvent *e );
174 virtual void contentsDropEvent( QDropEvent* e );
175 virtual void wheelEvent( QWheelEvent *e );
176
183 void cancelPendingHeldSignal();
184
185private Q_SLOTS:
186 void slotMouseButtonClicked( int btn, Q3IconViewItem *item, const QPoint &pos );
187 void slotDragHoldTimeout();
188
189private:
193 QFontMetrics *itemFontMetrics() const;
197 QPixmap selectedIconPixmap( QPixmap *pix, const QColor &col ) const;
198
199 bool m_bUseSingle;
200 bool m_bChangeCursorOverItem;
201
202 Q3IconViewItem* m_pCurrentItem;
203
204 QTimer* m_pAutoSelect;
205 int m_autoSelectDelay;
206
207private:
208 class K3IconViewPrivate;
209 K3IconViewPrivate *d;
210};
211
212class KWordWrap;
221class KDE3SUPPORT_EXPORT K3IconViewItem : public Q3IconViewItem
222{
223public:
224 // Need to redefine all the constructors - I want Java !
225 K3IconViewItem( Q3IconView *parent )
226 : Q3IconViewItem( parent ) { init(); } // We need to call it because the parent ctor won't call our reimplementation :(((
227 K3IconViewItem( Q3IconView *parent, Q3IconViewItem *after )
228 : Q3IconViewItem( parent, after ) { init(); }
229 K3IconViewItem( Q3IconView *parent, const QString &text )
230 : Q3IconViewItem( parent, text ) { init(); }
231 K3IconViewItem( Q3IconView *parent, Q3IconViewItem *after, const QString &text )
232 : Q3IconViewItem( parent, after, text ) { init(); }
233 K3IconViewItem( Q3IconView *parent, const QString &text, const QPixmap &icon )
234 : Q3IconViewItem( parent, text, icon ) { init(); }
235 K3IconViewItem( Q3IconView *parent, Q3IconViewItem *after, const QString &text, const QPixmap &icon )
236 : Q3IconViewItem( parent, after, text, icon ) { init(); }
237 K3IconViewItem( Q3IconView *parent, const QString &text, const QPicture &picture )
238 : Q3IconViewItem( parent, text, picture ) { init(); }
239 K3IconViewItem( Q3IconView *parent, Q3IconViewItem *after, const QString &text, const QPicture &picture )
240 : Q3IconViewItem( parent, after, text, picture ) { init(); }
241 virtual ~K3IconViewItem();
242
253 void setPixmapSize( const QSize& size );
254
258 QSize pixmapSize() const;
259
260protected:
261 void init();
262 virtual void calcRect( const QString& text_ = QString() );
263 virtual void paintItem( QPainter *p, const QColorGroup &c );
264 KWordWrap *wordWrap();
265 void paintPixmap( QPainter *p, const QColorGroup &c );
266 void paintText( QPainter *p, const QColorGroup &c );
267
268private:
269 KWordWrap* m_wordWrap;
270 struct K3IconViewItemPrivate;
271 K3IconViewItemPrivate *d;
272};
273
274#endif
K3IconViewItem
A variant of QIconViewItem that wraps words better.
Definition: k3iconview.h:222
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, const QString &text)
Definition: k3iconview.h:229
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, const QString &text, const QPicture &picture)
Definition: k3iconview.h:237
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, Q3IconViewItem *after, const QString &text, const QPixmap &icon)
Definition: k3iconview.h:235
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, Q3IconViewItem *after, const QString &text, const QPicture &picture)
Definition: k3iconview.h:239
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, Q3IconViewItem *after, const QString &text)
Definition: k3iconview.h:231
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, Q3IconViewItem *after)
Definition: k3iconview.h:227
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent)
Definition: k3iconview.h:225
K3IconViewItem::K3IconViewItem
K3IconViewItem(Q3IconView *parent, const QString &text, const QPixmap &icon)
Definition: k3iconview.h:233
K3IconView
A variant of QIconView that honors KDE's system-wide settings.
Definition: k3iconview.h:42
K3IconView::executed
void executed(Q3IconViewItem *item)
This signal is emitted whenever the user executes an iconview item.
K3IconView::Mode
Mode
K3IconView has two different operating modes.
Definition: k3iconview.h:61
K3IconView::Execute
@ Execute
Definition: k3iconview.h:61
K3IconView::doubleClicked
void doubleClicked(Q3IconViewItem *item, const QPoint &pos)
This signal gets emitted whenever the user double clicks into the iconview.
K3IconView::held
void held(Q3IconViewItem *item)
This signal is emitted whenever the user hold something on an iconview during a drag'n'drop.
K3IconView::executed
void executed(Q3IconViewItem *item, const QPoint &pos)
This signal is emitted whenever the user executes an iconview item.
KWordWrap
Q3IconViewItem
Q3IconView
QEvent
QWidget
kde3support_export.h
Mode
Mode
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDE3Support

Skip menu "KDE3Support"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal