render_container.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef render_container_h
00024 #define render_container_h
00025
00026 #include "render_object.h"
00027
00028 namespace khtml
00029 {
00030
00031
00035 class RenderContainer : public RenderObject
00036 {
00037 public:
00038 RenderContainer(DOM::NodeImpl* node);
00039 virtual ~RenderContainer();
00040
00041 RenderObject *firstChild() const { return m_first; }
00042 RenderObject *lastChild() const { return m_last; }
00043
00044 virtual void addChild(RenderObject *newChild, RenderObject *beforeChild = 0);
00045
00046 virtual RenderObject* removeChildNode(RenderObject* child);
00047 virtual void appendChildNode(RenderObject* child);
00048 virtual void insertChildNode(RenderObject* child, RenderObject* before);
00049
00050 virtual void layout();
00051 virtual void calcMinMaxWidth() { setMinMaxKnown( true ); }
00052
00053 virtual void removeLeftoverAnonymousBoxes();
00054
00055 private:
00056
00057 void setFirstChild(RenderObject *first) { m_first = first; }
00058 void setLastChild(RenderObject *last) { m_last = last; }
00059
00060 protected:
00061
00062 void insertPseudoChild(RenderStyle::PseudoId type, RenderObject* child, RenderObject* before);
00063
00064 RenderObject *m_first;
00065 RenderObject *m_last;
00066 };
00067 }
00068 #endif
This file is part of the documentation for kdelibs Version 3.1.5.