Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'AttributeList (./kdelibs/khtml/html/htmltoken.h:112)
class AttributeList
{
public:
AttributeList();
AttributeList( Attribute *list, unsigned int length);
AttributeList( const AttributeList &other);
virtual ~AttributeList();
AttributeList &operator = (const AttributeList &other );
ushort id(uint index) const;
DOMString name(uint index) const;
DOMString value(uint index) const;
DOMString valueForId(uint id)
{
int i = find(id);
if(i == -1) return 0;
return value(i);
}
// adds the attribute. If it exists, replaces it.
void add(const Attribute &attr);
unsigned int length() const;
// returns -1 if not found
int find(const DOMString &name);
int find(ushort id);
DOMString operator [] (const DOMString &name);
Attribute *operator [] (uint index);
void remove(DOMString name);
void remove(uint index);
virtual DOMString toHTML(DOMString _string);
protected:
Attribute *_list;
uint _len;
};
/**
* @internal
* represents one HTML tag. Consists of a numerical id, and the list
* of attributes. Can also represent text. In this case the id = 0 and
* text contains the text.
*/
kdelibs'AttributeList::AttributeList() (./kdelibs/khtml/html/htmltoken.cpp:64)
AttributeList::AttributeList()
{
_list = 0;
_len = 0;
}
kdelibs'AttributeList::AttributeList() (./kdelibs/khtml/html/htmltoken.cpp:70)
AttributeList::AttributeList( const AttributeList &other)
{
if(!other._len)
{
_len = 0;
_list = 0;
}
_len = other._len;
_list = new Attribute [ _len ];
int i = 0;
while(i < (int)_len)
{
_list[i].setValue(other._list[i].val());
_list[i].id = other._list[i].id;
i++;
}
}
kdelibs'AttributeList::AttributeList() (./kdelibs/khtml/html/htmltoken.cpp:108)
AttributeList::AttributeList( Attribute *list, unsigned int len)
{
_list = list;
_len = len;
}
kdelibs'AttributeList::~AttributeList() (./kdelibs/khtml/html/htmltoken.cpp:114)
AttributeList::~AttributeList()
{
if(_list) delete [] _list;
}
kdelibs'AttributeList::id() (./kdelibs/khtml/html/htmltoken.cpp:120)
ushort AttributeList::id(uint index) const
{
return _list[index].id;
}
kdelibs'AttributeList::name() (./kdelibs/khtml/html/htmltoken.cpp:125)
DOMString AttributeList::name(uint index) const
{
if(index >= _len) return 0;
return _list[index].name();
}
kdelibs'AttributeList::value() (./kdelibs/khtml/html/htmltoken.cpp:132)
DOMString AttributeList::value(uint index) const
{
if(index >= _len) return 0;
return _list[index].value();
}
kdelibs'AttributeList::add() (./kdelibs/khtml/html/htmltoken.cpp:139)
void AttributeList::add(const Attribute &a)
{
int index = find(a.id);
if(index == -1)
{
Attribute *nList = new Attribute [ _len+1 ];
if(_list)
{
int i = 0;
while(i < (int)_len)
{
nList[i].setValue(_list[i].val());
nList[i].id = _list[i].id;
i++;
}
delete [] _list;
}
_list = nList;
_list[_len].id = a.id;
_list[_len].setValue(a.val());
_len++;
}
else
_list[index].setValue(a.val());
}
kdelibs'AttributeList::length() (./kdelibs/khtml/html/htmltoken.cpp:166)
unsigned int AttributeList::length() const
{
return _len;
}
kdelibs'AttributeList::find() (./kdelibs/khtml/html/htmltoken.cpp:171)
int AttributeList::find(const DOMString &name)
{
DOMString n = name.string().upper();
int i = 0;
while( i<(int)_len )
{
if(_list[i].name() == n)
return i;
i++;
}
return -1;
}
kdelibs'AttributeList::find() (./kdelibs/khtml/html/htmltoken.cpp:184)
int AttributeList::find(ushort id)
{
int i = 0;
while( i<(int)_len )
{
if(_list[i].id == id)
return i;
i++;
}
return -1;
}
kdelibs'AttributeList::remove() (./kdelibs/khtml/html/htmltoken.cpp:210)
void AttributeList::remove(DOMString name)
{
int index = find(name);
if(index == -1)
return;
remove(index);
}
kdelibs'AttributeList::remove() (./kdelibs/khtml/html/htmltoken.cpp:220)
void AttributeList::remove(uint index)
{
if(index > _len) return;
Attribute *nList = new Attribute [ _len-1 ];
uint i = 0;
while(i < index)
{
nList[i].setValue(_list[i].val());
nList[i].id = _list[i].id;
i++;
}
while(i < _len-1)
{
nList[i].setValue(_list[i+1].val());
nList[i].id = _list[i+1].id;
i++;
}
delete [] _list;
_list = nList;
_len--;
}
kdelibs'AttributeList::toHTML() (./kdelibs/khtml/html/htmltoken.cpp:244)
DOMString AttributeList::toHTML(DOMString _string)
{
Attribute _attr;
for( unsigned int n=0; n<length(); n++ )
{
_attr = *(*this)[n];
_string = _string + " " + _attr.name().string() + "=\"" + _attr.value().string() + "\"";
}
return _string;
}
// ---------------------------------------------------------------------------
// contructor for a text token