#ifndef PLINE_H #define PLINE_H #include #include #include #include #include #include #include "types.h" class QPushButton; /** Internal class : display a "player line" in netmeeting. */ class MeetingLine : public QFrame { 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 bds; TQLineEdit *qle; }; class PlayerLine : public QFrame { 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 QWidget { 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 widgets; TQVBoxLayout vbl; }; template 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