diff options
Diffstat (limited to 'kdeui/keditlistbox.h')
-rw-r--r-- | kdeui/keditlistbox.h | 279 |
1 files changed, 0 insertions, 279 deletions
diff --git a/kdeui/keditlistbox.h b/kdeui/keditlistbox.h deleted file mode 100644 index bd8b19a64..000000000 --- a/kdeui/keditlistbox.h +++ /dev/null @@ -1,279 +0,0 @@ -/* This file is part of the KDE libraries - Copyright (C) 2000 David Faure <faure@kde.org>, Alexander Neundorf <neundorf@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - 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 - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public License - along with this library; see the file COPYING.LIB. If not, write to - the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ - -#ifndef KEDITLISTBOX_H -#define KEDITLISTBOX_H - -#include <tqgroupbox.h> -#include <tqlistbox.h> - -#include <kdelibs_export.h> - -class KLineEdit; -class KComboBox; -class TQPushButton; - -class KEditListBoxPrivate; -/** - * An editable listbox - * - * This class provides a editable listbox ;-), this means - * a listbox which is accompanied by a line edit to enter new - * items into the listbox and pushbuttons to add and remove - * items from the listbox and two buttons to move items up and down. - * - * \image html keditlistbox.png "KDE Edit List Box Widget" - * - */ -class KDEUI_EXPORT KEditListBox : public TQGroupBox -{ - Q_OBJECT - TQ_OBJECT - - TQ_SETS( Button ) - TQ_PROPERTY( Button buttons READ buttonsProp WRITE setButtonsProp ) - TQ_PROPERTY( TQStringList items READ items WRITE setItems ) - -public: - class CustomEditor; - - public: - - /** - * Enumeration of the buttons, the listbox offers. Specify them in the - * constructor in the buttons parameter, or in setButtons. - */ - enum Button { Add = 1, Remove = 2, UpDown = 4 }; - enum { All = Add|Remove|UpDown }; // separated so that it doesn't appear in Qt designer - - /** - * Create an editable listbox. - * - * If @p checkAtEntering is true, after every character you type - * in the line edit KEditListBox will enable or disable - * the Add-button, depending whether the current content of the - * line edit is already in the listbox. Maybe this can become a - * performance hit with large lists on slow machines. - * If @p checkAtEntering is false, - * it will be checked if you press the Add-button. It is not - * possible to enter items twice into the listbox. - */ - KEditListBox(TQWidget *parent = 0, const char *name = 0, - bool checkAtEntering=false, int buttons = All ); - /** - * Create an editable listbox. - * - * The same as the other constructor, additionally it takes - * @p title, which will be the title of the frame around the listbox. - */ - KEditListBox(const TQString& title, TQWidget *parent = 0, - const char *name = 0, bool checkAtEntering=false, - int buttons = All ); - - /** - * Another constructor, which allows to use a custom editing widget - * instead of the standard KLineEdit widget. E.g. you can use a - * KURLRequester or a KComboBox as input widget. The custom - * editor must consist of a lineedit and optionally another widget that - * is used as representation. A KComboBox or a KURLRequester have a - * KLineEdit as child-widget for example, so the KComboBox is used as - * the representation widget. - * - * @see KURLRequester::customEditor() - * @since 3.1 - */ - KEditListBox( const TQString& title, - const CustomEditor &customEditor, - TQWidget *parent = 0, const char *name = 0, - bool checkAtEntering = false, int buttons = All ); - - virtual ~KEditListBox(); - - /** - * Return a pointer to the embedded TQListBox. - */ - TQListBox* listBox() const { return m_listBox; } - /** - * Return a pointer to the embedded TQLineEdit. - */ - KLineEdit* lineEdit() const { return m_lineEdit; } - /** - * Return a pointer to the Add button - */ - TQPushButton* addButton() const { return servNewButton; } - /** - * Return a pointer to the Remove button - */ - TQPushButton* removeButton() const { return servRemoveButton; } - /** - * Return a pointer to the Up button - */ - TQPushButton* upButton() const { return servUpButton; } - /** - * Return a pointer to the Down button - */ - TQPushButton* downButton() const { return servDownButton; } - - /** - * See TQListBox::count() - */ - int count() const { return int(m_listBox->count()); } - /** - * See TQListBox::insertStringList() - */ - void insertStringList(const TQStringList& list, int index=-1); - /** - * See TQListBox::insertStringList() - */ - void insertStrList(const TQStrList* list, int index=-1); - /** - * See TQListBox::insertStrList() - */ - void insertStrList(const TQStrList& list, int index=-1); - /** - * See TQListBox::insertStrList() - */ - void insertStrList(const char ** list, int numStrings=-1, int index=-1); - /** - * See TQListBox::insertItem() - */ - void insertItem(const TQString& text, int index=-1) {m_listBox->insertItem(text,index);} - /** - * Clears both the listbox and the line edit. - */ - void clear(); - /** - * See TQListBox::text() - */ - TQString text(int index) const { return m_listBox->text(index); } - /** - * See TQListBox::currentItem() - */ - int currentItem() const; - /** - * See TQListBox::currentText() - */ - TQString currentText() const { return m_listBox->currentText(); } - - /** - * @returns a stringlist of all items in the listbox - */ - TQStringList items() const; - - /** - * Clears the listbox and sets the contents to @p items - * - * @since 3.4 - */ - void setItems(const TQStringList& items); - - /** - * Returns which buttons are visible - */ - int buttons() const; - inline Button buttonsProp() const { return (Button)buttons(); } - - /** - * Specifies which buttons should be visible - */ - void setButtons( uint buttons ); - inline void setButtonsProp( Button buttons ) { setButtons((uint)buttons); } - - signals: - void changed(); - - /** - * This signal is emitted when the user adds a new string to the list, - * the parameter is the added string. - * @since 3.2 - */ - void added( const TQString & text ); - - /** - * This signal is emitted when the user removes a string from the list, - * the parameter is the removed string. - * @since 3.2 - */ - void removed( const TQString & text ); - - protected slots: - //the names should be self-explaining - void moveItemUp(); - void moveItemDown(); - void addItem(); - void removeItem(); - void enableMoveButtons(int index); - void typedSomething(const TQString& text); - - private: - TQListBox *m_listBox; - TQPushButton *servUpButton, *servDownButton; - TQPushButton *servNewButton, *servRemoveButton; - KLineEdit *m_lineEdit; - - //this is called in both ctors, to avoid code duplication - void init( bool checkAtEntering, int buttons, - TQWidget *representationWidget = 0L ); - - protected: - virtual void virtual_hook( int id, void* data ); - private: - //our lovely private d-pointer - KEditListBoxPrivate* const d; - - /** - * Custom editor class - * - * @since 3.1 - **/ - // ### KDE4: add virtual destructor - public: - class CustomEditor - { - public: - KDEUI_EXPORT CustomEditor() - : m_representationWidget( 0L ), - m_lineEdit( 0L ) {} - KDEUI_EXPORT CustomEditor( TQWidget *repWidget, KLineEdit *edit ) - : m_representationWidget( repWidget ), - m_lineEdit( edit ) {} - KDEUI_EXPORT CustomEditor( KComboBox *combo ); - - KDEUI_EXPORT void setRepresentationWidget( TQWidget *repWidget ) { - m_representationWidget = repWidget; - } - KDEUI_EXPORT void setLineEdit( KLineEdit *edit ) { - m_lineEdit = edit; - } - - KDEUI_EXPORT virtual TQWidget *representationWidget() const { - return m_representationWidget; - } - KDEUI_EXPORT virtual KLineEdit *lineEdit() const { - return m_lineEdit; - } - - protected: - TQWidget *m_representationWidget; - KLineEdit *m_lineEdit; - }; -}; - -#endif - |