author | eilers <eilers> | 2003-08-08 14:45:49 (UTC) |
---|---|---|
committer | eilers <eilers> | 2003-08-08 14:45:49 (UTC) |
commit | 14d394e6c107b037a09a31a92605034fe50f7813 (patch) (side-by-side diff) | |
tree | 800699cf4dc9681c3eb023340634dd6a15fd04c8 /library/categorymenu.cpp | |
parent | dbc6ea35f5535a1f69deb7ebbafc0f721721dbf2 (diff) | |
download | opie-14d394e6c107b037a09a31a92605034fe50f7813.zip opie-14d394e6c107b037a09a31a92605034fe50f7813.tar.gz opie-14d394e6c107b037a09a31a92605034fe50f7813.tar.bz2 |
Merged branches from BRANCH_1_0
-rw-r--r-- | library/categorymenu.cpp | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/library/categorymenu.cpp b/library/categorymenu.cpp index e733107..5d7adf7 100644 --- a/library/categorymenu.cpp +++ b/library/categorymenu.cpp @@ -21,27 +21,62 @@ #include "categorymenu.h" #include "backend/categories.h" #include "categoryselect.h" #include <qstring.h> #include <qmap.h> +/*! + \class CategoryMenu + \brief The CategoryMenu widget aids in filtering records or files by Category. + + The CategoryMenu widget provides a popup menu that will make filtering records + or files by category much easier. The widget will lookup the available + categories for an application, populate the menu, and keep a track of which + categories are being filtered against. A set of categories can be tested + by the isSelected() function to see if a record or file containing those + categories would be allowed through by the filter. + + \warning Currently this class is not suitable for extending. + + \ingroup qtopiaemb +*/ + +/*! + \fn void CategoryMenu::categoryChange() + This signal is emitted when the user selects a different category in the + menu, hence changing what records or files should be selected. +*/ + +/*! + Creates a new CategoryMenu with \a parent and \a name. The menu will be + populated with the available categories for \a application. + + If \a globals is TRUE then it will also poplulate the menu with the + global categories. +*/ CategoryMenu::CategoryMenu( const QString &n, bool ig = TRUE, QWidget *parent, const char *name ) : QPopupMenu(parent, name), appName(n), includeGlobal(ig) { currentMid = 1; reload(); connect(this, SIGNAL(activated(int)), this, SLOT(mapMenuId(int))); } +/*! + Destroys a CategoryMenu. +*/ CategoryMenu::~CategoryMenu( ) { } +/*! + Repopulates the widget's list of available categories. +*/ void CategoryMenu::reload() { clear(); Categories c; c.load(categoryFileName()); @@ -63,23 +98,31 @@ void CategoryMenu::reload() mid++; } setItemChecked(currentMid, TRUE ); } +/*! + \internal +*/ void CategoryMenu::mapMenuId(int id) { if (id == currentMid) return; setItemChecked( currentMid, FALSE ); setItemChecked( id, TRUE ); currentMid = id; emit categoryChange(); } +/*! + Returns TRUE if a record or file with the set of category ids \a cUids + is allowed by the current selection in the CategoryMenu. + Otherwise returns FALSE. +*/ bool CategoryMenu::isSelected(const QArray<int> &cUids) const { if (currentMid == 1) return TRUE; if (currentMid == 2 && cUids.count() == 0) @@ -88,23 +131,32 @@ bool CategoryMenu::isSelected(const QArray<int> &cUids) const if (cUids.contains(menuToId[currentMid])) return TRUE; return FALSE; } +/*! + Sets the menu to have \a newCatUid as the currently selected Category. +*/ void CategoryMenu::setCurrentCategory( int newCatUid ) { if (!idToMenu.contains(newCatUid)) return; mapMenuId(idToMenu[newCatUid]); } +/*! + Sets the menu to allow all category sets. +*/ void CategoryMenu::setCurrentCategoryAll( ) { mapMenuId(1); } +/*! + Sets the menu to allow only empty category sets. +*/ void CategoryMenu::setCurrentCategoryUnfiled( ) { mapMenuId(2); } |