summaryrefslogtreecommitdiffstats
path: root/kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h
diff options
context:
space:
mode:
Diffstat (limited to 'kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h')
-rw-r--r--kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h136
1 files changed, 136 insertions, 0 deletions
diff --git a/kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h b/kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h
new file mode 100644
index 0000000..5077496
--- /dev/null
+++ b/kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivisible.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2002-2003 Jesper K. Pedersen <blackie@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 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
+ * 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.
+ **/
+// ------------------------------- Description ----------------------------
+// This is the KMultiFormListBox Widget. You do not need to inheret from this class,
+// your interface to it will be through the methods `append` and `elements'.
+//
+// To make an instance of the widget, you need to inherit the classes
+// `KMultiFormListBoxFactory' and `KMultiFormListBoxEntry'.
+// ------------------------------------------------------------------------
+#ifndef __tdemultiformlistboxmultivisble
+#define __tdemultiformlistboxmultivisble
+
+// -------------------------------- includes ------------------------------
+#include "tdemultiformlistbox.h"
+//-------------------------------------------------------------------------
+
+/**
+ @internal
+*/
+class KMultiFormListBoxMultiVisible :public TQScrollView, KMultiFormListBoxShower {
+
+Q_OBJECT
+
+
+friend class KMultiFormListBox;
+
+private:
+ /**
+ @param factory A factory used to generate the instances of KMultiFormListBoxEntry
+ class which is repeated in the KMultiFormListBox
+ @param parent A pointer to the parent widget
+ */
+ KMultiFormListBoxMultiVisible(KMultiFormListBoxFactory *factory, TQWidget *parent = 0, const char *name = 0);
+
+ /**
+ @return The elements in the KMultiFormListBox
+ */
+ KMultiFormListBoxEntryList elements();
+ void append(KMultiFormListBoxEntry *);
+
+ TQWidget* qWidget() { return this; }
+
+
+public slots:
+
+ /**
+ This slot should be connected to a button which lets the user know that
+ he may get more elements in this KMultiFormListBox by pressing it.
+ The button should be labeled ``More Entries'' or something similar.
+ */
+ void addElement(); // Adds an empty element to the KMultiFormListBox
+
+
+protected slots:
+
+ /**
+ When this slot is invoked then the Idx menu will be shown.
+ @param elm The KMultiFormListBoxEntry element where the Idx button was
+ pressed. This information is necessary to be able to calculate the
+ location where the drop down menu should be shown
+ */
+ void showIndexList(KMultiFormListBoxEntry *elm);
+
+protected:
+ /**
+ Copies the element pointed to by which to the clipboard and removes it
+ from the interface.
+ This function is accessed from the class @ref CCP.
+ @param which A pointer to the element to cut.
+ */
+ void cut(KMultiFormListBoxEntry *which);
+
+ /**
+ Copies the element pointed to by which to the clipboard.
+ This function is accessed from the class @ref CCP.
+ @param which A pointer to the element to copied.
+ */
+ void copy(KMultiFormListBoxEntry *which);
+
+ /**
+ Paste the element from the clipboard to the KMultiFormListBox
+ This function is accessed from the class @ref CCP.
+ @param which A pointer to the KMultiFormListBoxEntry element which the
+ clipboard element should be inserted before,.
+ */
+ void paste(KMultiFormListBoxEntry *which);
+
+ /**
+ Inserts an empty KMultiFormListBoxEntry into the widget.
+ @param which A pointer to the element which the new empty widget
+ should be inserted before.
+ */
+
+ void addElement(KMultiFormListBoxEntry *);
+
+ friend class CCP;
+
+ virtual void resizeEvent(TQResizeEvent *);
+ void addElemBefore(KMultiFormListBoxEntry *newElm, TQWidget *existing);
+ void insertElmIntoWidget(KMultiFormListBoxEntry *elm, KMultiFormListBoxEntry *after);
+ void showWidget(KMultiFormListBoxEntry *elm);
+ void delElement(TQWidget *);
+ void delAnElement();
+ void addElemBefore(KMultiFormListBoxEntry *newElm, KMultiFormListBoxEntry *existing);
+ void updateClipperContent();
+ int countElements(WidgetList *);
+
+
+
+private:
+ // Instance variables
+
+ KMultiFormListBoxFactory *factory;
+ WidgetList *elms;
+ TQPushButton *addBut;
+ TQByteArray clipboard;
+};
+
+
+#endif /* tdemultiformlistboxmultivisble */
+