/*************************************************************************** tagxml.h - description ------------------- begin : ����25 14:34:07 EEST 2000 copyright : (C) 2000 by Dmitry Poplavsky & Alexander Yakovlev (C) 2004 Andras Mantia ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef TAGATTR_H #define TAGATTR_H //qt includes #include #include #include #include //kde includes #include #include //app includes #include "colorcombo.h" #include "filecombo.h" class TQDomElement; class TQWidget; class TQTag; TQDomNode findChild( TQDomNode &parent, const TQString &name ); class Attr { public: Attr( TQDomElement const& el, TQWidget *, TQTag *dtdTag ) : domEl(el), name(domEl.attribute("name","")), m_dtdTag(dtdTag) {} //{ domEl = el; name = domEl->attribute("name",""); m_dtdTag = dtdTag;} virtual ~Attr(){} virtual TQString value()=0; virtual void setValue(const TQString &value)=0; TQString attrName() const; TQDomElement const& domElement() const { return domEl; } protected: TQDomElement domEl; TQString name; TQTag *m_dtdTag; }; class Attr_line : public Attr { protected: TQLineEdit *line; public: Attr_line( TQDomElement const& el, TQWidget *w, TQTag *dtdTag ) : Attr(el, w, dtdTag) { line = (TQLineEdit *)w; } virtual ~Attr_line(){}; virtual TQString value() { return line->text(); } virtual void setValue(const TQString &value) { line->setText(value); } }; class Attr_color : public Attr { protected: ColorCombo *color; public: Attr_color( TQDomElement const& el, TQWidget *w, TQTag *dtdTag ) : Attr(el, w, dtdTag) { color = (ColorCombo *)w; } virtual ~Attr_color(){}; virtual TQString value() { return color->colorName(); } virtual void setValue(const TQString &value) { color->setColorName(value); } }; class Attr_file : public Attr { protected: FileCombo *file; public: Attr_file( TQDomElement const& el, TQWidget *w , TQTag * dtdTag ) : Attr(el, w, dtdTag) { file = (FileCombo *)w; } virtual ~Attr_file(){}; virtual TQString value() { return file->text(); } virtual void setValue(const TQString &value) { file->setText(value); } }; class Attr_list : public Attr { protected: TQComboBox *combo; public: Attr_list( TQDomElement const& el, TQWidget *w, TQTag *dtdTag ); virtual ~Attr_list(){}; virtual TQString value() { return combo->currentText(); } virtual void setValue(const TQString &value); }; class Attr_check : public Attr { protected: TQCheckBox *check; public: Attr_check( TQDomElement const& el, TQWidget *w, TQTag *dtdTag ) : Attr(el, w, dtdTag) { check = (TQCheckBox *)w; } virtual ~Attr_check(){}; virtual TQString value() { return check->isChecked() ? "checked" : "unchecked" ; } virtual void setValue(const TQString &value) { check->setChecked( !value.isEmpty() ); } }; #endif