dom2_views.cpp

00001 
00023 #include "dom/dom2_views.h"
00024 #include "dom/dom_exception.h"
00025 #include "dom/dom_doc.h"
00026 #include "xml/dom_elementimpl.h"
00027 #include "xml/dom2_viewsimpl.h"
00028 
00029 using namespace DOM;
00030 
00031 
00032 AbstractView::AbstractView()
00033 {
00034     impl = 0;
00035 }
00036 
00037 
00038 AbstractView::AbstractView(const AbstractView &other)
00039 {
00040     impl = other.impl;
00041     if (impl) impl->ref();
00042 }
00043 
00044 
00045 AbstractView::AbstractView(AbstractViewImpl *i)
00046 {
00047     impl = i;
00048     if (impl) impl->ref();
00049 }
00050 
00051 AbstractView::~AbstractView()
00052 {
00053     if (impl)
00054     impl->deref();
00055 }
00056 
00057 AbstractView &AbstractView::operator = (const AbstractView &other)
00058 {
00059     if ( impl != other.impl ) {
00060     if(impl) impl->deref();
00061     impl = other.impl;
00062     if(impl) impl->ref();
00063     }
00064     return *this;
00065 }
00066 
00067 Document AbstractView::document() const
00068 {
00069     if (!impl)
00070     throw DOMException(DOMException::INVALID_STATE_ERR);
00071 
00072     return impl->document();
00073 }
00074 
00075 CSSStyleDeclaration AbstractView::getComputedStyle(const Element &elt, const DOMString &pseudoElt)
00076 {
00077     if (!impl)
00078     throw DOMException(DOMException::INVALID_STATE_ERR);
00079 
00080     return impl->getComputedStyle(static_cast<ElementImpl*>(elt.handle()),pseudoElt.implementation());
00081 }
00082 
00083 
00084 AbstractViewImpl *AbstractView::handle() const
00085 {
00086     return impl;
00087 }
00088 
00089 bool AbstractView::isNull() const
00090 {
00091     return (impl == 0);
00092 }
00093 
00094 
00095 
KDE Home | KDE Accessibility Home | Description of Access Keys