You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeutils/kregexpeditor/KMultiFormListBox/tdemultiformlistbox-multivi...

137 lines
4.4 KiB

/*
* 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 {
TQ_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 */