00001 /********************************************************************** 00002 ** Copyright (C) 2001 Trolltech AS. All rights reserved. 00003 ** 00004 ** This file is part of Qtopia Environment. 00005 ** 00006 ** This file may be distributed and/or modified under the terms of the 00007 ** GNU General Public License version 2 as published by the Free Software 00008 ** Foundation and appearing in the file LICENSE.GPL included in the 00009 ** packaging of this file. 00010 ** 00011 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 ** 00014 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 00015 ** 00016 ** Contact info@trolltech.com if any conditions of this licensing are 00017 ** not clear to you. 00018 ** 00019 **********************************************************************/ 00020 00021 #ifndef __CATEGORYMENU_H__ 00022 #define __CATEGORYMENU_H__ 00023 00024 #include <qpopupmenu.h> 00025 #include <qstring.h> 00026 #include <qarray.h> 00027 #include <qmap.h> 00028 00029 class CategoryMenuPrivate; 00030 class CategoryMenu : public QPopupMenu 00031 { 00032 Q_OBJECT 00033 public: 00034 CategoryMenu( const QString &appName, bool, QWidget *parent = 0, 00035 const char *name = 0 ); 00036 ~CategoryMenu(); 00037 00038 bool isSelected(const QArray<int> &cUids) const; 00039 00040 void setCurrentCategory( int newCatUid ); 00041 void setCurrentCategoryAll( ); 00042 void setCurrentCategoryUnfiled( ); 00043 00044 signals: 00045 void categoryChange(); 00046 00047 public slots: 00048 void reload(); 00049 00050 private slots: 00051 void mapMenuId(int); 00052 00053 private: 00054 QString appName; 00055 bool includeGlobal; 00056 00057 QMap<int, int> menuToId; 00058 QMap<int, int> idToMenu; 00059 int currentMid; 00060 00061 CategoryMenuPrivate *d; 00062 }; 00063 00064 #endif
1.4.2