khtml Library API Documentation

css_renderstyledeclarationimpl.cpp

00001 
00021 #include "css_renderstyledeclarationimpl.h"
00022 
00023 #include "rendering/render_style.h"
00024 #include "rendering/render_object.h"
00025 
00026 #include "cssproperties.h"
00027 
00028 using namespace DOM;
00029 using namespace khtml;
00030 
00031 
00032 RenderStyleDeclarationImpl::RenderStyleDeclarationImpl( DOM::NodeImpl *node )
00033     : CSSStyleDeclarationImpl( 0 )
00034 {
00035     m_node = node;
00036     m_renderer = m_node->renderer();
00037 }
00038 
00039 RenderStyleDeclarationImpl::~RenderStyleDeclarationImpl()
00040 {
00041 }
00042 
00043 DOM::DOMString RenderStyleDeclarationImpl::cssText() const
00044 {
00045     return DOMString();
00046 }
00047 
00048 void RenderStyleDeclarationImpl::setCssText( DOM::DOMString )
00049 {
00050     // ### report that this sucka is read only
00051 }
00052 
00053 CSSValueImpl *RenderStyleDeclarationImpl::getPropertyCSSValue( int propertyID ) const
00054 {
00055     CSSPrimitiveValueImpl *val = 0;
00056 
00057     switch( propertyID )
00058     {
00059     case CSS_PROP_BACKGROUND_COLOR:
00060         val = new CSSPrimitiveValueImpl( m_renderer->style()->backgroundColor().rgb() );
00061         break;
00062     case CSS_PROP_BACKGROUND_IMAGE:
00063         break;
00064     case CSS_PROP_BACKGROUND_REPEAT:
00065         break;
00066     case CSS_PROP_BACKGROUND_ATTACHMENT:
00067         break;
00068     case CSS_PROP_BACKGROUND_POSITION:
00069         break;
00070     case CSS_PROP_BACKGROUND_POSITION_X:
00071         break;
00072     case CSS_PROP_BACKGROUND_POSITION_Y:
00073         break;
00074     case CSS_PROP_BORDER_COLLAPSE:
00075         break;
00076     case CSS_PROP_BORDER_SPACING:
00077         break;
00078     case CSS_PROP__KHTML_BORDER_HORIZONTAL_SPACING:
00079         break;
00080     case CSS_PROP__KHTML_BORDER_VERTICAL_SPACING:
00081         break;
00082     case CSS_PROP_BORDER_TOP_COLOR:
00083         break;
00084     case CSS_PROP_BORDER_RIGHT_COLOR:
00085         break;
00086     case CSS_PROP_BORDER_BOTTOM_COLOR:
00087         break;
00088     case CSS_PROP_BORDER_LEFT_COLOR:
00089         break;
00090     case CSS_PROP_BORDER_TOP_STYLE:
00091         break;
00092     case CSS_PROP_BORDER_RIGHT_STYLE:
00093         break;
00094     case CSS_PROP_BORDER_BOTTOM_STYLE:
00095         break;
00096     case CSS_PROP_BORDER_LEFT_STYLE:
00097         break;
00098     case CSS_PROP_BORDER_TOP_WIDTH:
00099         val = new CSSPrimitiveValueImpl( m_renderer->borderTop(), CSSPrimitiveValue::CSS_PX );
00100         break;
00101     case CSS_PROP_BORDER_RIGHT_WIDTH:
00102         val = new CSSPrimitiveValueImpl( m_renderer->borderRight(), CSSPrimitiveValue::CSS_PX );
00103         break;
00104     case CSS_PROP_BORDER_BOTTOM_WIDTH:
00105         val = new CSSPrimitiveValueImpl( m_renderer->borderBottom(), CSSPrimitiveValue::CSS_PX );
00106         break;
00107     case CSS_PROP_BORDER_LEFT_WIDTH:
00108         val = new CSSPrimitiveValueImpl( m_renderer->borderLeft(), CSSPrimitiveValue::CSS_PX );
00109         break;
00110     case CSS_PROP_BOTTOM:
00111         break;
00112     case CSS_PROP_CAPTION_SIDE:
00113         break;
00114     case CSS_PROP_CLEAR:
00115         break;
00116     case CSS_PROP_CLIP:
00117         break;
00118     case CSS_PROP_COLOR:
00119         break;
00120     case CSS_PROP_CONTENT:
00121         break;
00122     case CSS_PROP_COUNTER_INCREMENT:
00123         break;
00124     case CSS_PROP_COUNTER_RESET:
00125         break;
00126     case CSS_PROP_CURSOR:
00127         break;
00128     case CSS_PROP_DIRECTION:
00129         break;
00130     case CSS_PROP_DISPLAY:
00131         break;
00132     case CSS_PROP_EMPTY_CELLS:
00133         break;
00134     case CSS_PROP_FLOAT:
00135         break;
00136     case CSS_PROP_FONT_FAMILY:
00137         break;
00138     case CSS_PROP_FONT_SIZE:
00139         break;
00140     case CSS_PROP_FONT_STYLE:
00141         break;
00142     case CSS_PROP_FONT_VARIANT:
00143         break;
00144     case CSS_PROP_FONT_WEIGHT:
00145         break;
00146     case CSS_PROP_HEIGHT:
00147         val = new CSSPrimitiveValueImpl( m_renderer->height(),
00148                                          CSSPrimitiveValue::CSS_PX );
00149         break;
00150     case CSS_PROP_LEFT:
00151         break;
00152     case CSS_PROP_LETTER_SPACING:
00153         break;
00154     case CSS_PROP_LINE_HEIGHT:
00155         break;
00156     case CSS_PROP_LIST_STYLE_IMAGE:
00157         break;
00158     case CSS_PROP_LIST_STYLE_POSITION:
00159         break;
00160     case CSS_PROP_LIST_STYLE_TYPE:
00161         break;
00162     case CSS_PROP_MARGIN_TOP:
00163         break;
00164     case CSS_PROP_MARGIN_RIGHT:
00165         break;
00166     case CSS_PROP_MARGIN_BOTTOM:
00167         break;
00168     case CSS_PROP_MARGIN_LEFT:
00169         break;
00170     case CSS_PROP_MAX_HEIGHT:
00171         val = new CSSPrimitiveValueImpl( m_renderer->availableHeight(),
00172                                          CSSPrimitiveValue::CSS_PX );
00173         break;
00174     case CSS_PROP_MAX_WIDTH:
00175         val = new CSSPrimitiveValueImpl( m_renderer->maxWidth(),
00176                                          CSSPrimitiveValue::CSS_PX );
00177         break;
00178     case CSS_PROP_MIN_HEIGHT:
00179         val = new CSSPrimitiveValueImpl( m_renderer->contentHeight(),
00180                                          CSSPrimitiveValue::CSS_PX );
00181         break;
00182     case CSS_PROP_MIN_WIDTH:
00183         val = new CSSPrimitiveValueImpl( m_renderer->minWidth(),
00184                                          CSSPrimitiveValue::CSS_PX );
00185         break;
00186     case CSS_PROP_ORPHANS:
00187         break;
00188     case CSS_PROP_OUTLINE_COLOR:
00189         break;
00190     case CSS_PROP_OUTLINE_STYLE:
00191         break;
00192     case CSS_PROP_OUTLINE_WIDTH:
00193         break;
00194     case CSS_PROP_OVERFLOW:
00195         break;
00196     case CSS_PROP_PADDING_TOP:
00197         val = new CSSPrimitiveValueImpl( m_renderer->paddingTop(),
00198                                          CSSPrimitiveValue::CSS_PX );
00199         break;
00200     case CSS_PROP_PADDING_RIGHT:
00201         val = new CSSPrimitiveValueImpl( m_renderer->paddingRight(),
00202                                          CSSPrimitiveValue::CSS_PX );
00203         break;
00204     case CSS_PROP_PADDING_BOTTOM:
00205         val = new CSSPrimitiveValueImpl( m_renderer->paddingBottom(),
00206                                          CSSPrimitiveValue::CSS_PX );
00207         break;
00208     case CSS_PROP_PADDING_LEFT:
00209         val = new CSSPrimitiveValueImpl( m_renderer->paddingLeft(),
00210                                          CSSPrimitiveValue::CSS_PX );
00211         break;
00212     case CSS_PROP_PAGE_BREAK_AFTER:
00213         break;
00214     case CSS_PROP_PAGE_BREAK_BEFORE:
00215         break;
00216     case CSS_PROP_PAGE_BREAK_INSIDE:
00217         break;
00218     case CSS_PROP_POSITION:
00219         break;
00220     case CSS_PROP_QUOTES:
00221         break;
00222     case CSS_PROP_RIGHT:
00223         break;
00224     case CSS_PROP_SIZE:
00225         break;
00226     case CSS_PROP_TABLE_LAYOUT:
00227         break;
00228     case CSS_PROP_TEXT_ALIGN:
00229         break;
00230     case CSS_PROP_TEXT_DECORATION:
00231         break;
00232     case CSS_PROP_TEXT_INDENT:
00233         break;
00234     case CSS_PROP_TEXT_TRANSFORM:
00235         break;
00236     case CSS_PROP_TOP:
00237         break;
00238     case CSS_PROP_UNICODE_BIDI:
00239         break;
00240     case CSS_PROP_VERTICAL_ALIGN:
00241         break;
00242     case CSS_PROP_VISIBILITY:
00243         break;
00244     case CSS_PROP_WHITE_SPACE:
00245         break;
00246     case CSS_PROP_WIDOWS:
00247         break;
00248     case CSS_PROP_WIDTH:
00249         val = new CSSPrimitiveValueImpl( m_renderer->width(),
00250                                          CSSPrimitiveValue::CSS_PX );
00251         break;
00252     case CSS_PROP_WORD_SPACING:
00253         break;
00254     case CSS_PROP_Z_INDEX:
00255         break;
00256     case CSS_PROP_BACKGROUND:
00257         break;
00258     case CSS_PROP_BORDER:
00259         break;
00260     case CSS_PROP_BORDER_COLOR:
00261         break;
00262     case CSS_PROP_BORDER_STYLE:
00263         break;
00264     case CSS_PROP_BORDER_TOP:
00265         val = new CSSPrimitiveValueImpl( m_renderer->borderTop(),
00266                                          CSSPrimitiveValue::CSS_PX );
00267         break;
00268     case CSS_PROP_BORDER_RIGHT:
00269         val = new CSSPrimitiveValueImpl( m_renderer->borderRight(),
00270                                          CSSPrimitiveValue::CSS_PX );
00271         break;
00272     case CSS_PROP_BORDER_BOTTOM:
00273         val = new CSSPrimitiveValueImpl( m_renderer->borderBottom(),
00274                                          CSSPrimitiveValue::CSS_PX );
00275         break;
00276     case CSS_PROP_BORDER_LEFT:
00277         val = new CSSPrimitiveValueImpl( m_renderer->borderLeft(),
00278                                          CSSPrimitiveValue::CSS_PX );
00279         break;
00280     case CSS_PROP_BORDER_WIDTH:
00281         break;
00282     case CSS_PROP_FONT:
00283         break;
00284     case CSS_PROP_LIST_STYLE:
00285         break;
00286     case CSS_PROP_MARGIN:
00287         break;
00288     case CSS_PROP_OUTLINE:
00289         break;
00290     case CSS_PROP_PADDING:
00291         break;
00292     case CSS_PROP_SCROLLBAR_BASE_COLOR:
00293         break;
00294     case CSS_PROP_SCROLLBAR_FACE_COLOR:
00295         break;
00296     case CSS_PROP_SCROLLBAR_SHADOW_COLOR:
00297         break;
00298     case CSS_PROP_SCROLLBAR_HIGHLIGHT_COLOR:
00299         break;
00300     case CSS_PROP_SCROLLBAR_3DLIGHT_COLOR:
00301         break;
00302     case CSS_PROP_SCROLLBAR_DARKSHADOW_COLOR:
00303         break;
00304     case CSS_PROP_SCROLLBAR_TRACK_COLOR:
00305         break;
00306     case CSS_PROP_SCROLLBAR_ARROW_COLOR:
00307         break;
00308     case CSS_PROP__KHTML_FLOW_MODE:
00309         break;
00310     case CSS_PROP__KHTML_USER_INPUT:
00311         break;
00312     case CSS_PROP__KHTML_TEXT_DECORATION_COLOR:
00313         break;
00314     default:
00315         Q_ASSERT( 0 );
00316         break;
00317     }
00318     return val;
00319 }
00320 
00321 DOMString RenderStyleDeclarationImpl::getPropertyValue( int propertyID ) const
00322 {
00323     CSSProperty var = property( propertyID );
00324     DOMString str = var.cssText();
00325     return str;
00326 }
00327 
00328 bool RenderStyleDeclarationImpl::getPropertyPriority( int ) const
00329 {
00330     return false;
00331 }
00332 
00333 DOM::DOMString RenderStyleDeclarationImpl::removeProperty( int, bool )
00334 {
00335     // ### emit error since we're read-only
00336     return DOMString();
00337 }
00338 
00339 bool RenderStyleDeclarationImpl::setProperty ( int, const DOM::DOMString&, bool,
00340                                                bool )
00341 {
00342     // ### emit error since we're read-only
00343     return false;
00344 }
00345 
00346 void RenderStyleDeclarationImpl::setProperty ( int, int, bool,
00347                                                bool )
00348 {
00349     // ### emit error since we're read-only
00350 }
00351 
00352 void RenderStyleDeclarationImpl::setLengthProperty( int, const DOM::DOMString&, bool,
00353                                                     bool, bool )
00354 {
00355     // ### emit error since we're read-only
00356 }
00357 
00358 void RenderStyleDeclarationImpl::setProperty( const DOMString& )
00359 {
00360     // ### emit error since we're read-only
00361 }
00362 
00363 DOM::DOMString RenderStyleDeclarationImpl::item( unsigned long ) const
00364 {
00365     // ###
00366     return DOMString();
00367 }
00368 
00369 
00370 CSSProperty RenderStyleDeclarationImpl::property( int id ) const
00371 {
00372     CSSProperty prop;
00373     prop.m_id = id;
00374     prop.m_bImportant = false;
00375     prop.nonCSSHint = false;
00376 
00377     CSSValueImpl* v = getPropertyCSSValue( id );
00378     if ( !v )
00379         v = new CSSPrimitiveValueImpl;
00380     prop.setValue( v );
00381     return prop;
00382 }
KDE Logo
This file is part of the documentation for khtml Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed May 5 07:22:12 2004 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003