summaryrefslogtreecommitdiff
path: root/libopie2/opieui/oversatileview.h
Unidiff
Diffstat (limited to 'libopie2/opieui/oversatileview.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/oversatileview.h399
1 files changed, 0 insertions, 399 deletions
diff --git a/libopie2/opieui/oversatileview.h b/libopie2/opieui/oversatileview.h
deleted file mode 100644
index 8cba65c..0000000
--- a/libopie2/opieui/oversatileview.h
+++ b/dev/null
@@ -1,399 +0,0 @@
1/*
2                 This file is part of the Opie Project
3
4 =. (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
5 .=l.
6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details.
21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA.
28
29*/
30
31#ifndef OVERSATILEVIEW_H
32#define OVERSATILEVIEW_H
33
34/* QT */
35
36#include <qwidgetstack.h>
37#include <qiconview.h>
38
39/* OPIE */
40
41#include <opie2/oapplication.h>
42
43/* FORWARDS */
44
45class QHeader;
46class QIconSet;
47class QIconViewItem;
48class QListViewItem;
49class QPopupMenu;
50class QString;
51
52#ifndef QT_NO_DRAGANDDROP
53class QIconDragItem;
54#endif
55
56namespace Opie {
57namespace Ui {
58class OListView;
59
60class OVersatileView : public QWidgetStack
61{
62 Q_OBJECT
63
64 friend class OVersatileViewItem;
65
66 //==============================================================================================//
67 // OVersatileView High Level API
68 //==============================================================================================//
69
70 public:
71 OVersatileView( QWidget* parent = 0, const char* name = 0, int mode = 0 );
72 ~OVersatileView();
73
74 QPopupMenu* contextMenu() const;
75
76 void setSynchronization( bool sync );
77 bool synchronization();
78
79 enum ViewMode { Tree = 0, Icons };
80 int viewMode();
81
82 QIconView* iconView() const;
83 OListView* listView() const;
84
85 enum WarningPolicy { None = 0, Warn, WarnReturn };
86
87 void setWarningPolicy( int ) const; // warn, if calling a method which doesn't apply to the current viewmode
88 bool warningPolicy() const;
89
90 void setDefaultPixmaps( int mode, QPixmap& leaf, QPixmap& opened, QPixmap& closed );
91
92 public slots:
93 void setViewMode( int mode );
94 void setIconViewMode();
95 void setTreeViewMode();
96
97 protected:
98 virtual bool isValidViewMode( int mode ) const;
99 virtual void popupContextMenu( OVersatileViewItem* item, const QPoint& pos, int col = 0 );
100
101 private:
102 int _viewmode;
103 bool _synchronization;
104 mutable int _warningpolicy;
105
106 OListView* _listview;
107 QIconView* _iconview;
108
109 QPixmap _treeleaf;
110 QPixmap _treeopened;
111 QPixmap _treeclosed;
112
113 QPixmap _iconleaf;
114 QPixmap _iconopened;
115 QPixmap _iconclosed;
116
117 QPopupMenu* _contextmenu;
118
119 int _iconstyle;
120 int _treestyle;
121
122 private slots:
123
124 void contextMenuRequested( QListViewItem*, const QPoint&, int );
125 void contextMenuRequested( QIconViewItem*, const QPoint& );
126
127 // type converting signal forwarders
128
129 void selectionChanged( QListViewItem * );
130 void currentChanged( QListViewItem * );
131 void clicked( QListViewItem * );
132 void pressed( QListViewItem * );
133 void doubleClicked( QListViewItem * );
134 void returnPressed( QListViewItem * );
135 void onItem( QListViewItem * );
136
137 void selectionChanged( QIconViewItem * );
138 void currentChanged( QIconViewItem * );
139 void clicked( QIconViewItem * );
140 void pressed( QIconViewItem * );
141 void doubleClicked( QIconViewItem * );
142 void returnPressed( QIconViewItem * );
143 void onItem( QIconViewItem * );
144
145 void expanded( QListViewItem * item ); // QListView
146 void collapsed( QListViewItem * item ); // QListView
147
148 signals:
149
150 void contextMenuRequested( Opie::Ui::OVersatileViewItem * item, const QPoint& pos, int col );
151
152 /*#ifndef QT_NO_DRAGANDDROP
153 void dropped( QDropEvent *e, const QValueList<QIconDragItem> &lst ); // QIconView
154 #endif
155 void itemRenamed( OVersatileViewItem *item, const QString & ); // QIconView
156 void itemRenamed( OVersatileViewItem *item ); // QIconView
157 */
158
159 //==============================================================================================//
160 // "Derived" API - Case 1: Methods existing either only in QListView or only in QIconView
161 //==============================================================================================//
162
163public:
164
165 /*
166 enum Arrangement { // QIconView
167 LeftToRight = 0,
168 TopToBottom
169 };
170 enum ResizeMode { // QIconView
171 Fixed = 0,
172 Adjust
173 };
174 enum ItemTextPos { // QIconView
175 Bottom = 0,
176 Right
177 };
178 */
179
180 //
181 // only in QListView
182 //
183
184 int treeStepSize() const; // QListView
185 virtual void setTreeStepSize( int ); // QListView
186
187 QHeader * header() const; // QListView
188
189 virtual int addColumn( const QString &label, int size = -1); // QListView
190 virtual int addColumn( const QIconSet& iconset, const QString &label, int size = -1); // QListView
191 void removeColumn( int index ); // #### make virtual in next major release! // QListView
192 virtual void setColumnText( int column, const QString &label ); // QListView
193 virtual void setColumnText( int column, const QIconSet& iconset, const QString &label ); // QListView
194 QString columnText( int column ) const; // QListView
195 virtual void setColumnWidth( int column, int width ); // QListView
196 int columnWidth( int column ) const; // QListView
197 enum WidthMode { Manual, Maximum }; // QListView
198 virtual void setColumnWidthMode( int column, WidthMode ); // QListView
199 WidthMode columnWidthMode( int column ) const; // QListView
200 int columns() const; // QListView
201
202 virtual void setColumnAlignment( int, int ); // QListView
203 int columnAlignment( int ) const; // QListView
204
205 OVersatileViewItem * itemAt( const QPoint & screenPos ) const; // QListView
206 QRect itemRect( const OVersatileViewItem * ) const; // QListView
207 int itemPos( const OVersatileViewItem * ); // QListView
208
209 bool isSelected( const OVersatileViewItem * ) const; // QListView // also in QIconViewItem but not in QIconView *shrug*
210
211 virtual void setMultiSelection( bool enable ); // QListView
212 bool isMultiSelection() const; // QListView
213
214 OVersatileViewItem * selectedItem() const; // QListView
215 virtual void setOpen( OVersatileViewItem *, bool ); // QListView
216 bool isOpen( const OVersatileViewItem * ) const; // QListView
217
218 OVersatileViewItem * firstChild() const; // QListView
219 int childCount() const; // QListView
220
221 virtual void setAllColumnsShowFocus( bool ); // QListView
222 bool allColumnsShowFocus() const; // QListView
223
224 virtual void setItemMargin( int ); // QListView
225 int itemMargin() const; // QListView
226
227 virtual void setRootIsDecorated( bool ); // QListView
228 bool rootIsDecorated() const; // QListView
229
230 void setShowSortIndicator( bool show ); // QListView
231 bool showSortIndicator() const; // QListView
232
233 int index( const OVersatileViewItem *item ) const; // QIconView
234
235 public slots:
236 void triggerUpdate(); // QListView
237
238 signals:
239 void expanded( Opie::Ui::OVersatileViewItem *item ); // QListView
240 void collapsed( Opie::Ui::OVersatileViewItem *item ); // QListView
241
242 //
243 // only in QIconView
244 //
245
246 public:
247 uint count() const; // QIconView
248
249 OVersatileViewItem *firstItem() const; // QIconView
250 OVersatileViewItem *lastItem() const; // QIconView
251
252 OVersatileViewItem *findItem( const QPoint &pos ) const; // QIconView
253 OVersatileViewItem *findItem( const QString &text ) const; // QIconView
254
255 OVersatileViewItem* findFirstVisibleItem( const QRect &r ) const; // QIconView
256 OVersatileViewItem* findLastVisibleItem( const QRect &r ) const; // QIconView
257
258 virtual void setGridX( int rx ); // QIconView
259 virtual void setGridY( int ry ); // QIconView
260 int gridX() const; // QIconView
261 int gridY() const; // QIconView
262 virtual void setSpacing( int sp ); // QIconView
263 int spacing() const; // QIconView
264 virtual void setItemTextPos( QIconView::ItemTextPos pos ); // QIconView
265 QIconView::ItemTextPos itemTextPos() const; // QIconView
266 virtual void setItemTextBackground( const QBrush &b ); // QIconView
267 QBrush itemTextBackground() const; // QIconView
268 virtual void setArrangement( QIconView::Arrangement am ); // QIconView
269 QIconView::Arrangement arrangement() const; // QIconView
270 virtual void setResizeMode( QIconView::ResizeMode am ); // QIconView
271 QIconView::ResizeMode resizeMode() const; // QIconView
272 virtual void setMaxItemWidth( int w ); // QIconView
273 int maxItemWidth() const; // QIconView
274 virtual void setMaxItemTextLength( int w ); // QIconView
275 int maxItemTextLength() const; // QIconView
276 virtual void setAutoArrange( bool b ); // QIconView
277 bool autoArrange() const; // QIconView
278 virtual void setShowToolTips( bool b ); // QIconView
279 bool showToolTips() const; // QIconView
280
281 bool sorting() const; // QIconView
282 bool sortDirection() const; // QIconView
283
284 virtual void setItemsMovable( bool b ); // QIconView
285 bool itemsMovable() const; // QIconView
286 virtual void setWordWrapIconText( bool b ); // QIconView
287 bool wordWrapIconText() const; // QIconView
288
289 public slots:
290 virtual void arrangeItemsInGrid( const QSize &grid, bool update = TRUE ); // QIconView
291 virtual void arrangeItemsInGrid( bool update = TRUE ); // QIconView
292 virtual void updateContents(); // QIconView
293
294 signals:
295 /*#ifndef QT_NO_DRAGANDDROP
296 void dropped( QDropEvent *e, const QValueList<QIconDragItem> &lst ); // QIconView
297 #endif
298 */
299 void moved(); // QIconView
300 void itemRenamed( Opie::Ui::OVersatileViewItem *item, const QString & ); // QIconView
301 void itemRenamed( Opie::Ui::OVersatileViewItem *item ); // QIconView
302
303 //==============================================================================================//
304 // "Derived" API - Case 2: Methods existing in QListView and QIconView with the same signatures
305 //==============================================================================================//
306
307 public:
308 enum SelectionMode {
309 Single = 0,
310 Multi,
311 Extended,
312 NoSelection
313 };
314
315 virtual void clear();
316
317 virtual void setFont( const QFont & );
318 virtual void setPalette( const QPalette & );
319
320 virtual void takeItem( OVersatileViewItem * );
321
322 void setSelectionMode( SelectionMode mode );
323 SelectionMode selectionMode() const;
324
325 virtual void selectAll( bool select );
326 virtual void clearSelection();
327 virtual void invertSelection();
328
329 void ensureItemVisible( const OVersatileViewItem * );
330 virtual void repaintItem( const OVersatileViewItem * ) const;
331
332 virtual void setCurrentItem( OVersatileViewItem * );
333 OVersatileViewItem * currentItem() const;
334
335 // bool eventFilter( QObject * o, QEvent * ); // use QWidgetStack implementation
336
337 // QSize minimumSizeHint() const; // use QWidgetStack implementation
338 // QSizePolicy sizePolicy() const; // use QWidgetStack implementation
339 // QSize sizeHint() const; // use QWidgetStack implementation
340
341 signals:
342 void selectionChanged();
343 void selectionChanged( Opie::Ui::OVersatileViewItem * );
344 void currentChanged( Opie::Ui::OVersatileViewItem * );
345 void clicked( Opie::Ui::OVersatileViewItem * );
346 void pressed( Opie::Ui::OVersatileViewItem * );
347
348 void doubleClicked( Opie::Ui::OVersatileViewItem * );
349 void returnPressed( Opie::Ui::OVersatileViewItem * );
350
351 void onItem( Opie::Ui::OVersatileViewItem * );
352 void onViewport();
353
354 //==============================================================================================//
355 // "Derived" API - Case 2: Methods existing in QListView and QIconView with differing signatures
356 //==============================================================================================//
357
358 /*
359
360 public:
361 virtual void insertItem( OVersatileViewItem * ); // QListView
362 virtual void insertItem( OVersatileViewItem *item, OVersatileViewItem *after = 0L ); // QIconView
363
364 virtual void setSelected( OVersatileViewItem *, bool ); // QListView
365 virtual void setSelected( OVersatileViewItem *item, bool s, bool cb = FALSE ); // QIconView
366
367 virtual void setSorting( int column, bool increasing = TRUE ); // QListView
368 void setSorting( bool sort, bool ascending = TRUE ); // QIconView
369
370 void sort(); // #### make virtual in next major release // QListView
371 virtual void sort( bool ascending = TRUE ); // QIconView
372
373 */
374
375 signals:
376 void clicked( Opie::Ui::OVersatileViewItem *, const QPoint &, int ); // QListView
377 void clicked( Opie::Ui::OVersatileViewItem *, const QPoint & ); // QIconView
378
379 void pressed( Opie::Ui::OVersatileViewItem *, const QPoint &, int ); // QListView
380 void pressed( Opie::Ui::OVersatileViewItem *, const QPoint & ); // QIconView
381
382 void rightButtonClicked( Opie::Ui::OVersatileViewItem* item, const QPoint& pos ); // QIconView
383 void rightButtonClicked( Opie::Ui::OVersatileViewItem *, const QPoint&, int ); // QListView
384
385 void rightButtonPressed( Opie::Ui::OVersatileViewItem* item, const QPoint& pos ); // QIconView
386 void rightButtonPressed( Opie::Ui::OVersatileViewItem *, const QPoint&, int ); // QListView
387
388 void mouseButtonPressed( int, Opie::Ui::OVersatileViewItem *, const QPoint& , int ); // QListView
389 void mouseButtonPressed( int button, Opie::Ui::OVersatileViewItem* item, const QPoint& pos ); // QIconView
390
391 void mouseButtonClicked( int, Opie::Ui::OVersatileViewItem *, const QPoint&, int ); // QListView
392 void mouseButtonClicked( int button, Opie::Ui::OVersatileViewItem* item, const QPoint& pos ); // QIconView
393
394};
395
396}
397}
398#endif
399