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.
krusader/krusader/Dialogs/krsqueezedtextlabel.h

46 lines
1.3 KiB

#ifndef KRSQUEEZEDTEXTLABEL_H
#define KRSQUEEZEDTEXTLABEL_H
#include <ksqueezedtextlabel.h>
class TQMouseEvent;
class TQDropEvent;
class TQDragEnterEvent;
/**
This class overloads KSqueezedTextLabel and simply adds a clicked signal,
so that users will be able to click the label and switch focus between panels.
NEW: a special setText() method allows to choose which part of the string should
be displayed (example: make sure that search results won't be cut out)
*/
class KrSqueezedTextLabel : public KSqueezedTextLabel {
TQ_OBJECT
public:
KrSqueezedTextLabel(TQWidget *parent = 0, const char *name = 0);
~KrSqueezedTextLabel();
void enableDrops( bool flag );
public slots:
void setText( const TQString &text, int index=-1, int length=-1 );
signals:
void clicked(); /**< emitted when someone clicks on the label */
void dropped(TQDropEvent *); /**< emitted when someone drops URL onto the label */
protected:
void resizeEvent( TQResizeEvent * ) { squeezeTextToLabel(_index, _length); }
virtual void mousePressEvent(TQMouseEvent *e);
virtual void dropEvent(TQDropEvent *e);
virtual void dragEnterEvent(TQDragEnterEvent *e);
void squeezeTextToLabel(int index=-1, int length=-1);
private:
bool acceptDrops;
int _index, _length;
};
#endif