diff options
Diffstat (limited to 'libkdepim/kwidgetlister.h')
-rw-r--r-- | libkdepim/kwidgetlister.h | 154 |
1 files changed, 0 insertions, 154 deletions
diff --git a/libkdepim/kwidgetlister.h b/libkdepim/kwidgetlister.h deleted file mode 100644 index db993297..00000000 --- a/libkdepim/kwidgetlister.h +++ /dev/null @@ -1,154 +0,0 @@ -/* -*- c++ -*- - kwidgetlister.h - - This file is part of libkdenetwork. - Copyright (c) 2001 Marc Mutz <mutz@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License, - version 2, as published by the Free Software Foundation. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - In addition, as a special exception, the copyright holders give - permission to link the code of this library with any edition of - the TQt library by Trolltech AS, Norway (or with modified versions - of TQt that use the same license as TQt), and distribute linked - combinations including the two. You must obey the GNU General - Public License in all respects for all of the code used other than - TQt. If you modify this file, you may extend this exception to - your version of the file, but you are not obligated to do so. If - you do not wish to do so, delete this exception statement from - your version. -*/ - -#ifndef _KWIDGETLISTER_H_ -#define _KWIDGETLISTER_H_ - -#include <tqwidget.h> -#include <tqptrlist.h> -#include <tdepimmacros.h> - -class TQPushButton; -class TQVBoxLayout; -class TQHBox; - -/** - @short Widget that manages a list of other widgets (incl. 'more', 'fewer' and 'clear' buttons). - - Simple widget that nonetheless does a lot of the dirty work for - the filter edit widgets (KMSearchPatternEdit and - KMFilterActionEdit). It provides a growable and shrinkable area - where widget may be displayed in rows. Widgets can be added by - hitting the provided 'More' button, removed by the 'Fewer' button - and cleared (e.g. reset, if an derived class implements that and - removed for all but @ref mMinWidgets). - - To use this widget, derive from it with the template changed to - the type of widgets this class should list. Then reimplement @ref - addWidgetAtEnd, @ref removeLastWidget, calling the original - implementation as necessary. Instantiate an object of the class and - put it in your dialog. - - @author Marc Mutz <Marc@Mutz.com> - @see KMSearchPatternEdit::WidgetLister KMFilterActionEdit::WidgetLister - -*/ - -class KDE_EXPORT KWidgetLister : public TQWidget -{ - Q_OBJECT - TQ_OBJECT -public: - KWidgetLister( int minWidgets=1, int maxWidgets=8, TQWidget* parent=0, const char* name=0 ); - virtual ~KWidgetLister(); - -protected slots: - /** Called whenever the user clicks on the 'more' button. - Reimplementations should call this method, because this - implementation does all the dirty work with adding the widgets - to the tqlayout (through @ref addWidgetAtEnd) and enabling/disabling - the control buttons. */ - virtual void slotMore(); - /** Called whenever the user clicks on the 'fewer' button. - Reimplementations should call this method, because this - implementation does all the dirty work with removing the widgets - from the tqlayout (through @ref removeLastWidget) and - enabling/disabling the control buttons. */ - virtual void slotFewer(); - /** Called whenever the user clicks on the 'clear' button. - Reimplementations should call this method, because this - implementation does all the dirty work with removing all but - @ref mMinWidgets widgets from the tqlayout and enabling/disabling - the control buttons. */ - virtual void slotClear(); - - - -protected: - /** Adds a single widget. Doesn't care if there are already @ref - mMaxWidgets on screen and whether it should enable/disable any - controls. It simply does what it is asked to do. You want to - reimplement this method if you want to initialize the the widget - when showing it on screen. Make sure you call this - implementaion, though, since you cannot put the widget on screen - from derived classes (@p mLayout is private). - Make sure the parent of the TQWidget to add is this KWidgetLister. */ - virtual void addWidgetAtEnd(TQWidget *w =0); - /** Removes a single (always the last) widget. Doesn't care if there - are still only @ref mMinWidgets left on screen and whether it - should enable/disable any controls. It simply does what it is - asked to do. You want to reimplement this method if you want to - save the the widget's state before removing it from screen. Make - sure you call this implementaion, though, since you should not - remove the widget from screen from derived classes. */ - virtual void removeLastWidget(); - /** Called to clear a given widget. The default implementation does - nothing. */ - virtual void clearWidget( TQWidget* ); - /** Because QT 2.x does not support signals/slots in template - classes, we are forced to emulate this by forcing the - implementers of subclasses of KWidgetLister to reimplement this - function which replaces the "@p new @p T" call. */ - virtual TQWidget* createWidget( TQWidget *parent ); - /** Sets the number of widgets on scrren to exactly @p aNum. Doesn't - check if @p aNum is inside the range @p - [mMinWidgets,mMaxWidgets]. */ - virtual void setNumberOfShownWidgetsTo( int aNum ); - /** The list of widgets. Note that this list is set to auto-delete, - meaning that widgets that are removed from the screen by either - @ref slotFewer or @ref slotClear will be destroyed! */ - TQPtrList<TQWidget> mWidgetList; - /** The minimum number of widgets that are to stay on screen. */ - int mMinWidgets; - /** The maximum number of widgets that are to be shown on screen. */ - int mMaxWidgets; - -signals: - /** This signal is emitted whenever a widget was added */ - void widgetAdded(); - /** This signal is emitted whenever a widget was added */ - void widgetAdded(TQWidget *); - /** This signal is emitted whenever a widget was removed */ - void widgetRemoved(); - /** This signal is emitted whenever the clear button is clicked */ - void clearWidgets(); - -private: - void enableControls(); - - TQPushButton *mBtnMore, *mBtnFewer, *mBtnClear; - TQVBoxLayout *mLayout; - TQHBox *mButtonBox; -}; - - - -#endif /* _KWIDGETLISTER_H_ */ |