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.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 12 15:09:55 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003