kivio
kivio_icon_view.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KIVIO_ICON_VIEW_H
00020 #define KIVIO_ICON_VIEW_H
00021
00022 #include <qdom.h>
00023 #include <qiconview.h>
00024 #include <qptrlist.h>
00025 #include <qpainter.h>
00026 #include <qpalette.h>
00027 #include <qpixmap.h>
00028 #include <qdragobject.h>
00029
00030 class KivioStencilSpawnerSet;
00031 class KivioStencilSpawner;
00032
00033 class KivioIconView : public QIconView
00034 {
00035 Q_OBJECT
00036 protected:
00037 KivioStencilSpawnerSet *m_pSpawnerSet;
00038 static KivioStencilSpawner *m_pCurDrag;
00039
00040 QDragObject *dragObject();
00041
00042 protected slots:
00043 void slotDoubleClicked(QIconViewItem*);
00044 void slotClicked(QIconViewItem* item);
00045
00046 signals:
00047 void createNewStencil(KivioStencilSpawner * );
00048 void stencilSelected(KivioStencilSpawner*);
00049
00050 public:
00051 KivioIconView( bool _readWrite,QWidget *parent=0, const char *name=0 );
00052 virtual ~KivioIconView();
00053
00054 static void clearCurrentDrag();
00055 static KivioStencilSpawner *curDragSpawner() { return m_pCurDrag; }
00056
00057 void setStencilSpawnerSet(KivioStencilSpawnerSet*);
00058 KivioStencilSpawnerSet *spawnerSet() { return m_pSpawnerSet; }
00059
00060 private:
00061 static QPtrList<KivioIconView> objList;
00062 bool isReadWrite;
00063 };
00064
00065 class KivioIconViewItem : public QIconViewItem
00066 {
00067 friend class KivioIconView;
00068
00069 protected:
00070 KivioStencilSpawner *m_pSpawner;
00071
00072 public:
00073 KivioIconViewItem( QIconView *parent );
00074 virtual ~KivioIconViewItem();
00075
00076 void setStencilSpawner(KivioStencilSpawner*);
00077 KivioStencilSpawner *spawner() { return m_pSpawner; }
00078
00079 virtual bool acceptDrop( const QMimeSource *e ) const;
00080 };
00081
00082
00083 #endif
00084
|