• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDE3Support

k3listview.h

Go to the documentation of this file.
00001 /* This file is part of the KDE libraries
00002    Copyright (C) 2000 Reginald Stadlbauer <reggie@kde.org>
00003    Copyright (C) 2000 Charles Samuels <charles@kde.org>
00004    Copyright (C) 2000 Peter Putzer <putzer@kde.org>
00005 
00006    This library is free software; you can redistribute it and/or
00007    modify it under the terms of the GNU Library General Public
00008    License version 2 as published by the Free Software Foundation.
00009 
00010    This library is distributed in the hope that it will be useful,
00011    but WITHOUT ANY WARRANTY; without even the implied warranty of
00012    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00013    Library General Public License for more details.
00014 
00015    You should have received a copy of the GNU Library General Public License
00016    along with this library; see the file COPYING.LIB.  If not, write to
00017    the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
00018    Boston, MA 02110-1301, USA.
00019 */
00020 #ifndef KLISTVIEW_H
00021 #define KLISTVIEW_H
00022 
00023 class QColorGroup;
00024 
00025 #include <kde3support_export.h>
00026 
00027 #include <Qt3Support/Q3ListView>
00028 #include <Qt3Support/Q3PtrList>
00029 
00030 class Q3DragObject;
00031 class KConfig;
00032 class KLineEdit;
00033 class KConfigGroup;
00034 
00057 class KDE3SUPPORT_EXPORT K3ListView : public Q3ListView
00058 {
00059   friend class K3ListViewItem;
00060 
00061   Q_OBJECT
00062   Q_ENUMS( SelectionModeExt )
00063   Q_PROPERTY( bool fullWidth READ fullWidth WRITE setFullWidth )
00064   Q_PROPERTY( bool itemsMovable READ itemsMovable WRITE setItemsMovable )
00065   Q_PROPERTY( bool itemsRenameable READ itemsRenameable WRITE setItemsRenameable )
00066   Q_PROPERTY( bool dragEnabled READ dragEnabled  WRITE  setDragEnabled )
00067   Q_PROPERTY( bool autoOpen READ autoOpen WRITE setAutoOpen )
00068   Q_PROPERTY( bool dropVisualizer READ dropVisualizer WRITE setDropVisualizer )
00069   Q_PROPERTY( int tooltipColumn READ tooltipColumn WRITE  setTooltipColumn )
00070   Q_PROPERTY( int dropVisualizerWidth READ dropVisualizerWidth WRITE  setDropVisualizerWidth )
00071   Q_PROPERTY( QColor alternateBackground READ alternateBackground WRITE  setAlternateBackground )
00072   Q_PROPERTY( bool shadeSortColumn READ shadeSortColumn WRITE setShadeSortColumn )
00073 
00074   Q_OVERRIDE( SelectionModeExt selectionMode READ selectionModeExt WRITE setSelectionModeExt )
00075 
00076 public:
00108   enum SelectionModeExt {
00109     Single = Q3ListView::Single,
00110     Multi = Q3ListView::Multi,
00111     Extended = Q3ListView::Extended,
00112     NoSelection = Q3ListView::NoSelection,
00113     FileManager
00114   };
00115 
00121   explicit K3ListView ( QWidget *parent = 0 );
00122 
00126   virtual ~K3ListView();
00127 
00135   virtual void setAcceptDrops (bool);
00136 
00146   virtual bool isExecuteArea( const QPoint& point );
00147 
00153   bool isExecuteArea( int x );
00154 
00155 
00164   QList<Q3ListViewItem *> selectedItems(bool includeHiddenItems = true ) const;
00165 
00172   void moveItem(Q3ListViewItem *item, Q3ListViewItem *parent, Q3ListViewItem *after);
00173 
00179   Q3ListViewItem *lastItem() const;
00180 
00186   Q3ListViewItem* lastChild () const;
00187 
00192   KLineEdit* renameLineEdit() const;
00193 
00200   bool itemsMovable() const;
00201 
00207   bool itemsRenameable() const;
00208 
00214   bool dragEnabled() const;
00215 
00221   bool autoOpen() const;
00222 
00228   bool isRenameable (int column) const;
00229 
00235   bool dropVisualizer() const;
00236 
00242   int tooltipColumn() const;
00243 
00249   bool dropHighlighter() const;
00250 
00257   int dropVisualizerWidth () const;
00258 
00265   SelectionModeExt selectionModeExt () const;
00266 
00272   int itemIndex( const Q3ListViewItem *item ) const;
00273 
00279   Q3ListViewItem* itemAtIndex(int index);
00280 
00285   KDE_DEPRECATED void setFullWidth();
00286 
00292   void setFullWidth(bool fullWidth);
00293 
00299   bool fullWidth() const;
00300 
00306   virtual int addColumn(const QString& label, int width = -1);
00310   virtual int addColumn(const QIcon& iconset, const QString& label, int width = -1);
00316   virtual void removeColumn(int index);
00317 
00327   void setAlternateBackground(const QColor &c);
00333   const QColor &alternateBackground() const;
00334 
00342   void saveLayout(KConfig *config, const QString &group) const;
00343   void saveLayout(KConfigGroup & cg) const;
00351   void restoreLayout(KConfig *config, const QString &group);
00352   
00353   void restoreLayout(KConfigGroup & cg);
00354   
00361   virtual void setSorting(int column, bool ascending = true);
00362 
00366   int columnSorted(void) const;
00367 
00371   bool ascendingSort(void) const;
00372 
00376   virtual void takeItem(Q3ListViewItem *i);
00377 
00382   void setShadeSortColumn(bool shadeSortColumn);
00383 
00388   bool shadeSortColumn(void) const;
00389 Q_SIGNALS:
00390 
00400   void executed( Q3ListViewItem *item );
00401 
00413   void executed( Q3ListViewItem *item, const QPoint &pos, int c );
00414 
00425   void dropped (QDropEvent * e, Q3ListViewItem *after);
00426 
00439   void dropped (K3ListView* list, QDropEvent* e, Q3ListViewItem* after);
00440 
00453   void dropped (K3ListView* list, QDropEvent* e, Q3ListViewItem* parent, Q3ListViewItem* after);
00454 
00466   void dropped (QDropEvent* e, Q3ListViewItem* parent, Q3ListViewItem* after);
00467 
00474   void moved();
00475 
00484   void aboutToMove();
00485 
00497   void moved (Q3ListViewItem *item, Q3ListViewItem *afterFirst, Q3ListViewItem *afterNow);
00498 
00499 
00505   void moved(Q3PtrList<Q3ListViewItem> &items, Q3PtrList<Q3ListViewItem> &afterFirst, Q3PtrList<Q3ListViewItem> &afterNow);
00506 
00514   void itemRenamed(Q3ListViewItem* item, const QString &str, int col);
00515 
00519   void itemRenamed(Q3ListViewItem* item);
00520 
00531   void menuShortCutPressed (K3ListView* list, Q3ListViewItem* item);
00532 
00541   void contextMenu (K3ListView* l, Q3ListViewItem* i, const QPoint& p);
00542 
00543   void itemAdded(Q3ListViewItem *item);
00544   void itemRemoved(Q3ListViewItem *item);
00545 
00546 public Q_SLOTS:
00550   virtual void rename(Q3ListViewItem *item, int c);
00551 
00562   void setRenameable (int column, bool yesno=true);
00563 
00570   virtual void setItemsMovable(bool b);
00571 
00579   virtual void setItemsRenameable(bool b);
00580 
00585   virtual void setDragEnabled(bool b);
00586 
00590   virtual void setAutoOpen(bool b);
00591 
00597   virtual void setDropVisualizer(bool b);
00598 
00603   void setDropVisualizerWidth (int w);
00604 
00611   virtual void setTooltipColumn(int column);
00612 
00618   virtual void setDropHighlighter(bool b);
00619 
00625   void setSelectionModeExt (SelectionModeExt mode);
00626 
00630   void setTabOrderedRenaming(bool b);
00631 
00635   bool tabOrderedRenaming() const;
00636 
00637 protected:
00646   bool below (const QRect& rect, const QPoint& p);
00647 
00657   bool below (Q3ListViewItem* i, const QPoint& p);
00658 
00663   virtual bool event( QEvent * );
00664 
00669   void emitExecute( Q3ListViewItem *item, const QPoint &pos, int c );
00670 
00678    virtual void focusInEvent(QFocusEvent* fe);
00679 
00687   virtual void focusOutEvent( QFocusEvent *fe );
00688 
00696   virtual void leaveEvent( QEvent *e );
00697 
00701   virtual QString tooltip(Q3ListViewItem* item, int column) const;
00702 
00706   virtual bool showTooltip(Q3ListViewItem *item, const QPoint &pos, int column) const;
00707 
00715   virtual void contentsDragMoveEvent (QDragMoveEvent *event);
00716 
00724   virtual void contentsMousePressEvent( QMouseEvent *e );
00725 
00733   virtual void contentsMouseMoveEvent( QMouseEvent *e );
00734 
00742   virtual void contentsMouseDoubleClickEvent ( QMouseEvent *e );
00743 
00751   virtual void contentsDragLeaveEvent (QDragLeaveEvent *event);
00752 
00760   virtual void contentsMouseReleaseEvent (QMouseEvent*);
00761 
00769   virtual void contentsDropEvent (QDropEvent*);
00770 
00778   virtual void contentsDragEnterEvent (QDragEnterEvent *);
00779 
00787   virtual void contentsContextMenuEvent ( QContextMenuEvent * );
00788 
00794   virtual Q3DragObject *dragObject();
00795 
00801   virtual bool acceptDrag (QDropEvent* event) const;
00802 
00810   virtual QRect drawDropVisualizer (QPainter *p, Q3ListViewItem *parent, Q3ListViewItem *after);
00811 
00818   virtual QRect drawItemHighlighter(QPainter *painter, Q3ListViewItem *item);
00819 
00826   virtual void startDrag();
00827 
00835   virtual void keyPressEvent (QKeyEvent*);
00836 
00844   virtual void viewportPaintEvent(QPaintEvent*);
00845 
00850   void activateAutomaticSelection();
00855   void deactivateAutomaticSelection();
00861   bool automaticSelection() const;
00862 
00866   virtual void viewportResizeEvent(QResizeEvent* e);
00867 
00874   void disableAutoSelection();
00875 
00880   void resetAutoSelection();
00881 
00886   // KDE 4: remove
00887   void doubleClicked( Q3ListViewItem *item, const QPoint &pos, int c );
00888 
00889 protected Q_SLOTS:
00894   void slotSettingsChanged(int);
00895 
00896   void slotMouseButtonClicked( int btn, Q3ListViewItem *item, const QPoint &pos, int c );
00897   void doneEditing(Q3ListViewItem *item, int row);
00898 
00902   void cleanDropVisualizer();
00903 
00907   void cleanItemHighlighter();
00908 
00912   void emitContextMenu (Q3ListViewItem*, const QPoint&, int);
00913 
00917   void emitContextMenu (K3ListView*, Q3ListViewItem*);
00918 
00923   void slotOnItem( Q3ListViewItem *item );
00924 
00929   void slotOnViewport();
00930 
00935   void slotAutoSelect();
00936 
00937   void slotDragExpand();
00938 
00943   void slotHeaderChanged();
00944 
00945 protected:
00949   virtual void movableDropEvent (Q3ListViewItem* parent, Q3ListViewItem* afterme);
00950 
00957   virtual void findDrop(const QPoint &pos, Q3ListViewItem *&parent, Q3ListViewItem *&after);
00958 
00962   void fileManagerKeyPressEvent (QKeyEvent*);
00963 
00967   int depthToPixels( int depth );
00968 
00969 #if 0
00970 private:
00971   class Tooltip;
00972 #endif
00973 
00974 private:
00975   class K3ListViewPrivate;
00976   K3ListViewPrivate* const d;
00977   bool isExecuteArea( int x, Q3ListViewItem* item );
00978 };
00979 
00986 class KDE3SUPPORT_EXPORT K3ListViewItem : public Q3ListViewItem
00987 {
00988   friend class K3ListView;
00989 public:
00996   K3ListViewItem(Q3ListView *parent);
00997   K3ListViewItem(Q3ListViewItem *parent);
00998   K3ListViewItem(Q3ListView *parent, Q3ListViewItem *after);
00999   K3ListViewItem(Q3ListViewItem *parent, Q3ListViewItem *after);
01000 
01001   K3ListViewItem(Q3ListView *parent,
01002     const QString& label1, const QString& label2 = QString(),
01003     const QString& label3 = QString(), const QString& label4 = QString(),
01004     const QString& label5 = QString(), const QString& label6 = QString(),
01005     const QString& labem7 = QString(), const QString& label7 = QString());
01006 
01007   K3ListViewItem(Q3ListViewItem *parent,
01008     const QString& label1, const QString& label2 = QString(),
01009     const QString& label3 = QString(), const QString& label4 = QString(),
01010     const QString& label5 = QString(), const QString& label6 = QString(),
01011     const QString& labem7 = QString(), const QString& label7 = QString());
01012 
01013   K3ListViewItem(Q3ListView *parent, Q3ListViewItem *after,
01014     const QString& label1, const QString& label2 = QString(),
01015     const QString& label3 = QString(), const QString& label4 = QString(),
01016     const QString& label5 = QString(), const QString& label6 = QString(),
01017     const QString& labem7 = QString(), const QString& label7 = QString());
01018 
01019   K3ListViewItem(Q3ListViewItem *parent, Q3ListViewItem *after,
01020     const QString& label1, const QString& label2 = QString(),
01021     const QString& label3 = QString(), const QString& label4 = QString(),
01022     const QString& label5 = QString(), const QString& label6 = QString(),
01023     const QString& labem7 = QString(), const QString& label7 = QString());
01024 
01025 
01026   virtual ~K3ListViewItem();
01027 
01028   virtual void insertItem(Q3ListViewItem *item);
01029   virtual void takeItem(Q3ListViewItem *item);
01033   bool isAlternate();
01037   KDE_DEPRECATED const QColor &backgroundColor();  // #### should be removed in 4.0; use below instead
01038 
01046   QColor backgroundColor(int column);
01047 
01048   virtual void paintCell(QPainter *p, const QColorGroup &cg,
01049     int column, int width, int alignment);
01050 
01051 private:
01052   void init();
01053 
01054 private:
01055   uint m_odd : 1;
01056   uint m_known : 1;
01057   uint m_unused : 30;
01058 };
01059 
01060 #endif
01061 
01062 // vim: ts=2 sw=2 et

KDE3Support

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal