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.
179 lines
5.3 KiB
179 lines
5.3 KiB
/***************************************************************************
|
|
tagattributeitems.h
|
|
-------------------
|
|
copyright : (C) 2003 by 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; version 2 of the License. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#ifndef TAGATTRIBUTEITEM_H
|
|
#define TAGATTRIBUTEITEM_H
|
|
|
|
#include <tqptrlist.h>
|
|
|
|
class KColorCombo;
|
|
class KURLRequester;
|
|
class TDEListView;
|
|
class TDEListViewItem;
|
|
class TQListViewItem;
|
|
class TQLineEdit;
|
|
class TQComboBox;
|
|
|
|
class Attribute;
|
|
class EditableTree;
|
|
class TagAttributeTree;
|
|
class Node;
|
|
class StyleEditor;
|
|
|
|
class TopLevelItem : public TDEListViewItem
|
|
{
|
|
|
|
public:
|
|
TopLevelItem(TDEListView *parent, const TQString& title);
|
|
TopLevelItem(TDEListView *parent, TQListViewItem* after, const TQString& title);
|
|
|
|
virtual ~TopLevelItem();
|
|
|
|
protected:
|
|
|
|
void paintCell( TQPainter *p, const TQColorGroup &cg,
|
|
int column, int width, int align );
|
|
};
|
|
|
|
class ParentItem : public TDEListViewItem
|
|
{
|
|
|
|
public:
|
|
ParentItem(TagAttributeTree *listView, TQListViewItem *parent);
|
|
|
|
virtual ~ParentItem();
|
|
Node *node(int index);
|
|
void addNode(Node *node);
|
|
void showList(bool show);
|
|
|
|
protected:
|
|
|
|
void paintCell( TQPainter *p, const TQColorGroup &cg,
|
|
int column, int width, int align );
|
|
|
|
private:
|
|
TQPtrList<Node> m_nodeList;
|
|
TQComboBox *comboBox;
|
|
TagAttributeTree *m_listView;
|
|
};
|
|
|
|
class AttributeItem : public TDEListViewItem
|
|
{
|
|
public:
|
|
AttributeItem(TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
AttributeItem(EditableTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
AttributeItem(EditableTree *listView, const TQString& title, const TQString& title2);
|
|
AttributeItem(EditableTree *listView, const TQString& title, const TQString& title2, TQListViewItem* after);
|
|
|
|
virtual ~AttributeItem();
|
|
virtual void replaceCurrentEditor();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual void placeEditor(TQWidget *w, int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
//I'm not sane... lin is the right editor, lin2 is the left one.
|
|
TQLineEdit *lin, *lin2;
|
|
|
|
protected:
|
|
|
|
void paintCell( TQPainter *p, const TQColorGroup &cg,
|
|
int column, int width, int align );
|
|
|
|
EditableTree *m_listView;
|
|
};
|
|
|
|
class AttributeNameSpaceItem:public AttributeItem
|
|
{
|
|
public:
|
|
AttributeNameSpaceItem(TQListViewItem* parent, const TQString& title, const TQString& title2): AttributeItem(parent, title, title2){};
|
|
AttributeNameSpaceItem(EditableTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2):AttributeItem(listView, parent, title, title2){};
|
|
virtual ~AttributeNameSpaceItem(){};
|
|
|
|
};
|
|
|
|
class AttributeBoolItem : public AttributeItem
|
|
{
|
|
public:
|
|
AttributeBoolItem(TagAttributeTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
|
|
virtual ~AttributeBoolItem();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
private:
|
|
TQComboBox* combo;
|
|
};
|
|
|
|
class AttributeUrlItem : public AttributeItem
|
|
{
|
|
public:
|
|
AttributeUrlItem(TagAttributeTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
|
|
virtual ~AttributeUrlItem();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
private:
|
|
KURLRequester* urlRequester;
|
|
};
|
|
|
|
class AttributeListItem : public AttributeItem
|
|
{
|
|
public:
|
|
AttributeListItem(EditableTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2, Attribute *attr = 0L);
|
|
|
|
virtual ~AttributeListItem();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
private:
|
|
TQComboBox* combo;
|
|
};
|
|
|
|
class AttributeColorItem : public AttributeItem
|
|
{
|
|
public:
|
|
AttributeColorItem(EditableTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
|
|
virtual ~AttributeColorItem();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
private:
|
|
KColorCombo* combo;
|
|
};
|
|
|
|
class AttributeStyleItem : public AttributeItem
|
|
{
|
|
public:
|
|
AttributeStyleItem(EditableTree *listView, TQListViewItem* parent, const TQString& title, const TQString& title2);
|
|
|
|
virtual ~AttributeStyleItem();
|
|
virtual void showEditor(int column = 1);
|
|
virtual void hideEditor(int column = 1);
|
|
virtual TQString editorText(int column = 1);
|
|
|
|
private:
|
|
|
|
StyleEditor *m_se;
|
|
};
|
|
|
|
|
|
#endif
|