00001 /*************************************************************************** 00002 * Copyright (C) 2003-2004 by David Saxton * 00003 * david@bluehaze.org * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU General Public License as published by * 00007 * the Free Software Foundation; either version 2 of the License, or * 00008 * (at your option) any later version. * 00009 ***************************************************************************/ 00010 00011 #ifndef PROPERTIESLISTVIEW_H 00012 #define PROPERTIESLISTVIEW_H 00013 00014 #include <klistview.h> 00015 #include <qmap.h> 00016 00017 class CNItemGroup; 00018 class ItemGroup; 00019 class PIEditor; 00020 class PLVItem; 00021 class QPushButton; 00022 00023 typedef QMap< QString, PLVItem * > PLVItemMap; 00024 00029 class PropertiesListView : public KListView 00030 { 00031 Q_OBJECT 00032 public: 00033 PropertiesListView( QWidget *parent = 0, const char *name = 0 ); 00034 ~PropertiesListView(); 00035 00036 public slots: 00040 void slotCreate( ItemGroup * itemGroup ); 00046 void slotUpdate( ItemGroup * itemGroup ); 00050 void slotClear(); 00051 void slotSelectionChanged(QListViewItem *item); 00058 void slotMergeProperties(); 00059 void slotSetDefaults(); 00060 00061 protected slots: 00062 void headerSizeChanged(int section, int oldSize, int newSize); 00063 void slotDataChanged(const QString &id, QVariant data); 00064 void destroyEditor(); 00065 00066 protected: 00067 virtual void wheelEvent( QWheelEvent *e ); 00068 00069 PIEditor *m_editor; 00070 QPushButton *m_diffBt; 00071 PLVItem *p_lastItem; 00072 PLVItemMap m_plvItemMap; 00073 }; 00074 00075 #endif
1.5.1