summaryrefslogtreecommitdiffstats
path: root/kdeui/keditlistbox.h
diff options
context:
space:
mode:
Diffstat (limited to 'kdeui/keditlistbox.h')
-rw-r--r--kdeui/keditlistbox.h279
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
-