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.
tdegames/libksirtet/lib/pline.h

116 lines
2.5 KiB

#ifndef PLINE_H
#define PLINE_H
#include <tqframe.h>
#include <tqscrollbar.h>
#include <tqlineedit.h>
#include <tqlabel.h>
#include <tqptrlist.h>
#include <tqlayout.h>
#include "types.h"
class TQPushButton;
/** Internal class : display a "player line" in netmeeting. */
class MeetingLine : public TQFrame
{
Q_OBJECT
public:
MeetingLine(bool isOwner, bool readerIsServer, bool serverLine,
TQWidget *parent, const char *name = 0);
MeetingCheckBox::Type type() const { return tcb->type(); }
void setType(MeetingCheckBox::Type type) { tcb->setType(type); }
void setText(const TQString &text) { qle->setText(text); }
void setData(const ExtData &ed);
void data(ExtData &ed) const;
TQString text() const { return qle->text(); }
signals:
void typeChanged(MeetingCheckBox::Type);
void textChanged(const TQString &);
private slots:
void _typeChanged(int t)
{ emit typeChanged((MeetingCheckBox::Type)t); }
void _textChanged(const TQString &text) { emit textChanged(text); }
protected:
TQHBoxLayout *hbl;
private:
MeetingCheckBox *tcb;
TQLabel *lname, *labH, *labAI;
TQValueList<BoardData> bds;
TQLineEdit *qle;
};
class PlayerLine : public TQFrame
{
Q_OBJECT
public:
PlayerLine(PlayerComboBox::Type type, const TQString &txt,
bool humanSetting, bool AISetting,
bool canBeEmpty, bool acceptAI,
TQWidget *parent = 0, const char *name = 0);
PlayerComboBox::Type type() const { return pcb->type(); }
TQString name() const { return edit->text(); }
signals:
void setHuman();
void setAI();
void typeChanged(int);
private slots:
void setSlot();
void typeChangedSlot(int);
private:
PlayerComboBox *pcb;
TQLineEdit *edit;
TQPushButton *setting;
bool hs, as;
};
/** Internal class : scrolable list of widgets. */
class GWidgetList : public TQWidget
{
Q_OBJECT
public:
GWidgetList(uint interval, TQWidget *parent = 0, const char * name = 0);
void remove(uint i);
uint size() const { return widgets.count(); }
protected:
/** The widget must be created with this widget as parent. */
void append(TQWidget *);
TQWidget *widget(uint i) { return widgets.at(i); }
private:
TQPtrList<TQWidget> widgets;
TQVBoxLayout vbl;
};
template <class Type>
class WidgetList : public GWidgetList
{
public:
WidgetList(uint interval, TQWidget *parent=0, const char *name=0)
: GWidgetList(interval, parent, name) {}
void append(Type *w) { GWidgetList::append(w); }
Type *widget(uint i) { return (Type *)GWidgetList::widget(i); }
};
#endif // PLINE_H