|
|
/***************************************************************************
|
|
|
tagxml.h - description
|
|
|
-------------------
|
|
|
begin : <20><><EFBFBD><EFBFBD>25 14:34:07 EEST 2000
|
|
|
copyright : (C) 2000 by Dmitry Poplavsky & Alexander Yakovlev <pdima@users.sourceforge.net,yshurik@linuxfan.com>
|
|
|
(C) 2004 Andras Mantia <amantia@kde.org>
|
|
|
***************************************************************************/
|
|
|
|
|
|
/***************************************************************************
|
|
|
* *
|
|
|
* 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 <tqstring.h>
|
|
|
#include <tqcheckbox.h>
|
|
|
#include <tqcombobox.h>
|
|
|
#include <tqdom.h>
|
|
|
|
|
|
//kde includes
|
|
|
#include <klineedit.h>
|
|
|
#include <kurl.h>
|
|
|
|
|
|
//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
|