kword
KWordFrameSetIface.cpp
00001 /* This file is part of the KDE project 00002 Copyright (C) 2002 Laurent MONTEL <lmontel@mandrakesoft.com> 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #include "KWordFrameSetIface.h" 00021 #include "KWFrameSet.h" 00022 #include "KWView.h" 00023 #include "KWDocument.h" 00024 #include <dcopclient.h> 00025 00026 00027 KWordFrameSetIface::KWordFrameSetIface( KWFrameSet *_frame ) 00028 : DCOPObject( _frame->name().utf8() ) 00029 { 00030 m_frame = _frame; 00031 } 00032 00033 bool KWordFrameSetIface::isAHeader() const 00034 { 00035 return m_frame->isAHeader(); 00036 } 00037 00038 bool KWordFrameSetIface::isAFooter() const 00039 { 00040 return m_frame->isAFooter(); 00041 } 00042 00043 bool KWordFrameSetIface::isHeaderOrFooter() const 00044 { 00045 return m_frame->isHeaderOrFooter(); 00046 } 00047 00048 bool KWordFrameSetIface::isMainFrameset() const 00049 { 00050 return m_frame->isMainFrameset(); 00051 } 00052 00053 bool KWordFrameSetIface::isMoveable() const 00054 { 00055 return m_frame->isMoveable(); 00056 } 00057 00058 bool KWordFrameSetIface::isVisible() const 00059 { 00060 return m_frame->isVisible(); 00061 } 00062 00063 bool KWordFrameSetIface::isFloating() const 00064 { 00065 return m_frame->isFloating(); 00066 } 00067 00068 double KWordFrameSetIface::ptWidth() const 00069 { 00070 return m_frame->frame(0)->normalize().width(); 00071 } 00072 00073 double KWordFrameSetIface::ptHeight() const 00074 { 00075 return m_frame->frame(0)->normalize().height(); 00076 } 00077 00078 double KWordFrameSetIface::ptPosX() const 00079 { 00080 return m_frame->frame(0)->normalize().x(); 00081 } 00082 00083 double KWordFrameSetIface::ptPosY() const 00084 { 00085 return m_frame->frame(0)->normalize().y(); 00086 } 00087 00088 int KWordFrameSetIface::zOrder() const 00089 { 00090 return m_frame->frame(0)->zOrder(); 00091 } 00092 00093 int KWordFrameSetIface::pageNumber() const 00094 { 00095 return m_frame->frame(0)->pageNumber(); 00096 } 00097 00098 QBrush KWordFrameSetIface::backgroundColor() const 00099 { 00100 return m_frame->frame(0)->backgroundColor(); 00101 } 00102 00103 void KWordFrameSetIface::setBackgroundColor( const QString &_color ) 00104 { 00105 QBrush brush= m_frame->frame(0)->backgroundColor(); 00106 brush.setColor( QColor( _color )); 00107 m_frame->frame(0)->setBackgroundColor( brush ); 00108 } 00109 00110 double KWordFrameSetIface::ptMarginLeft()const 00111 { 00112 return m_frame->frame(0)->paddingLeft(); 00113 } 00114 00115 double KWordFrameSetIface::ptMarginRight()const 00116 { 00117 return m_frame->frame(0)->paddingRight(); 00118 } 00119 00120 double KWordFrameSetIface::ptMarginTop()const 00121 { 00122 return m_frame->frame(0)->paddingTop(); 00123 } 00124 00125 double KWordFrameSetIface::ptMarginBottom()const 00126 { 00127 return m_frame->frame(0)->paddingBottom(); 00128 } 00129 00130 bool KWordFrameSetIface::isCopy()const 00131 { 00132 return m_frame->frame(0)->isCopy(); 00133 } 00134 00135 void KWordFrameSetIface::setPtMarginLeft(double val) 00136 { 00137 m_frame->frame( 0 )->setPaddingLeft(val); 00138 m_frame->kWordDocument()->layout(); 00139 } 00140 00141 void KWordFrameSetIface::setPtMarginRight(double val) 00142 { 00143 m_frame->frame( 0 )->setPaddingRight(val); 00144 m_frame->kWordDocument()->layout(); 00145 00146 } 00147 void KWordFrameSetIface::setPtMarginTop(double val) 00148 { 00149 m_frame->frame( 0 )->setPaddingTop(val); 00150 m_frame->kWordDocument()->layout(); 00151 } 00152 00153 void KWordFrameSetIface::setPtMarginBottom(double val) 00154 { 00155 m_frame->frame( 0 )->setPaddingBottom(val); 00156 m_frame->kWordDocument()->layout(); 00157 } 00158 00159 QColor KWordFrameSetIface::leftBorderColor() const 00160 { 00161 return m_frame->frame( 0 )->leftBorder().color; 00162 } 00163 00164 QColor KWordFrameSetIface::rightBorderColor() const 00165 { 00166 return m_frame->frame( 0 )->rightBorder().color; 00167 } 00168 00169 QColor KWordFrameSetIface::topBorderColor() const 00170 { 00171 return m_frame->frame( 0 )->topBorder().color; 00172 } 00173 00174 QColor KWordFrameSetIface::bottomBorderColor() const 00175 { 00176 return m_frame->frame( 0 )->bottomBorder().color; 00177 } 00178 00179 bool KWordFrameSetIface::isProtectSize()const 00180 { 00181 return m_frame->isProtectSize(); 00182 } 00183 00184 void KWordFrameSetIface::setProtectSize( bool _b ) 00185 { 00186 m_frame->setProtectSize( _b ); 00187 } 00188 00189 QString KWordFrameSetIface::bottomBorderStyle() const 00190 { 00191 switch( m_frame->frame( 0 )->bottomBorder().getStyle()) 00192 { 00193 case KoBorder::SOLID: 00194 return QString("SOLID"); 00195 break; 00196 case KoBorder::DASH: 00197 return QString("DASH"); 00198 break; 00199 case KoBorder::DOT: 00200 return QString("DOT"); 00201 break; 00202 case KoBorder::DASH_DOT: 00203 return QString("DASH DOT"); 00204 break; 00205 case KoBorder::DASH_DOT_DOT: 00206 return QString("DASH DOT DOT"); 00207 00208 break; 00209 case KoBorder::DOUBLE_LINE: 00210 return QString("DOUBLE LINE"); 00211 break; 00212 } 00213 return QString::null; 00214 } 00215 00216 QString KWordFrameSetIface::topBorderStyle() const 00217 { 00218 switch( m_frame->frame( 0 )->topBorder().getStyle()) 00219 { 00220 case KoBorder::SOLID: 00221 return QString("SOLID"); 00222 break; 00223 case KoBorder::DASH: 00224 return QString("DASH"); 00225 break; 00226 case KoBorder::DOT: 00227 return QString("DOT"); 00228 break; 00229 case KoBorder::DASH_DOT: 00230 return QString("DASH DOT"); 00231 break; 00232 case KoBorder::DASH_DOT_DOT: 00233 return QString("DASH DOT DOT"); 00234 00235 break; 00236 case KoBorder::DOUBLE_LINE: 00237 return QString("DOUBLE LINE"); 00238 break; 00239 } 00240 return QString::null; 00241 } 00242 00243 QString KWordFrameSetIface::leftBorderStyle() const 00244 { 00245 switch( m_frame->frame( 0 )->leftBorder().getStyle()) 00246 { 00247 case KoBorder::SOLID: 00248 return QString("SOLID"); 00249 break; 00250 case KoBorder::DASH: 00251 return QString("DASH"); 00252 break; 00253 case KoBorder::DOT: 00254 return QString("DOT"); 00255 break; 00256 case KoBorder::DASH_DOT: 00257 return QString("DASH DOT"); 00258 break; 00259 case KoBorder::DASH_DOT_DOT: 00260 return QString("DASH DOT DOT"); 00261 00262 break; 00263 case KoBorder::DOUBLE_LINE: 00264 return QString("DOUBLE LINE"); 00265 break; 00266 } 00267 return QString::null; 00268 } 00269 00270 QString KWordFrameSetIface::rightBorderStyle() const 00271 { 00272 switch( m_frame->frame( 0 )->rightBorder().getStyle()) 00273 { 00274 case KoBorder::SOLID: 00275 return QString("SOLID"); 00276 break; 00277 case KoBorder::DASH: 00278 return QString("DASH"); 00279 break; 00280 case KoBorder::DOT: 00281 return QString("DOT"); 00282 break; 00283 case KoBorder::DASH_DOT: 00284 return QString("DASH DOT"); 00285 break; 00286 case KoBorder::DASH_DOT_DOT: 00287 return QString("DASH DOT DOT"); 00288 00289 break; 00290 case KoBorder::DOUBLE_LINE: 00291 return QString("DOUBLE LINE"); 00292 break; 00293 } 00294 return QString::null; 00295 } 00296 00297 double KWordFrameSetIface::rightBorderWidth() const 00298 { 00299 return m_frame->frame( 0 )->rightBorder().penWidth(); 00300 } 00301 00302 double KWordFrameSetIface::topBorderWidth() const 00303 { 00304 return m_frame->frame( 0 )->topBorder().penWidth(); 00305 } 00306 00307 double KWordFrameSetIface::bottomBorderWidth() const 00308 { 00309 return m_frame->frame( 0 )->bottomBorder().penWidth(); 00310 } 00311 double KWordFrameSetIface::leftBorderWidth() const 00312 { 00313 return m_frame->frame( 0 )->leftBorder().penWidth(); 00314 } 00315 00316 void KWordFrameSetIface::setRightBorderWitdh( double _width ) 00317 { 00318 KoBorder tmp = m_frame->frame( 0 )->rightBorder(); 00319 tmp.setPenWidth(_width); 00320 m_frame->frame( 0 )->setRightBorder(tmp); 00321 } 00322 00323 void KWordFrameSetIface::setLeftBorderWitdh( double _width ) 00324 { 00325 KoBorder tmp = m_frame->frame( 0 )->leftBorder(); 00326 tmp.setPenWidth(_width); 00327 m_frame->frame( 0 )->setLeftBorder(tmp); 00328 } 00329 00330 void KWordFrameSetIface::setTopBorderWitdh( double _width ) 00331 { 00332 KoBorder tmp = m_frame->frame( 0 )->topBorder(); 00333 tmp.setPenWidth(_width); 00334 m_frame->frame( 0 )->setTopBorder(tmp); 00335 } 00336 00337 void KWordFrameSetIface::setBottomBorderWitdh( double _width ) 00338 { 00339 KoBorder tmp = m_frame->frame( 0 )->bottomBorder(); 00340 tmp.setPenWidth(_width); 00341 m_frame->frame( 0 )->setBottomBorder(tmp); 00342 } 00343 00344 void KWordFrameSetIface::setRightBorderStyle(const QString & _style) 00345 { 00346 KoBorder tmp = m_frame->frame( 0 )->rightBorder(); 00347 if ( _style.lower()=="solid") 00348 tmp.setStyle(KoBorder::SOLID); 00349 else if ( _style.lower()=="dash") 00350 tmp.setStyle(KoBorder::DASH); 00351 else if ( _style.lower()=="dot") 00352 tmp.setStyle(KoBorder::DOT); 00353 else if ( _style.lower()=="dash dot") 00354 tmp.setStyle(KoBorder::DASH_DOT); 00355 else if ( _style.lower()=="dash dot dot") 00356 tmp.setStyle(KoBorder::DASH_DOT_DOT); 00357 else if ( _style.lower()=="double line") 00358 tmp.setStyle(KoBorder::DOUBLE_LINE); 00359 else 00360 { 00361 kdDebug()<<" style :"<<_style<<" do not exist!\n"; 00362 return; 00363 } 00364 m_frame->frame( 0 )->setRightBorder(tmp); 00365 } 00366 00367 void KWordFrameSetIface::setLeftBorderStyle(const QString & _style) 00368 { 00369 KoBorder tmp = m_frame->frame( 0 )->leftBorder(); 00370 if ( _style.lower()=="solid") 00371 tmp.setStyle(KoBorder::SOLID); 00372 else if ( _style.lower()=="dash") 00373 tmp.setStyle(KoBorder::DASH); 00374 else if ( _style.lower()=="dot") 00375 tmp.setStyle(KoBorder::DOT); 00376 else if ( _style.lower()=="dash dot") 00377 tmp.setStyle(KoBorder::DASH_DOT); 00378 else if ( _style.lower()=="dash dot dot") 00379 tmp.setStyle(KoBorder::DASH_DOT_DOT); 00380 else if ( _style.lower()=="double line") 00381 tmp.setStyle(KoBorder::DOUBLE_LINE); 00382 else 00383 { 00384 kdDebug()<<" style :"<<_style<<" do not exist!\n"; 00385 return; 00386 } 00387 m_frame->frame( 0 )->setLeftBorder(tmp); 00388 00389 } 00390 00391 void KWordFrameSetIface::setTopBorderStyle(const QString & _style) 00392 { 00393 KoBorder tmp = m_frame->frame( 0 )->topBorder(); 00394 00395 if ( _style.lower()=="solid") 00396 tmp.setStyle(KoBorder::SOLID); 00397 else if ( _style.lower()=="dash") 00398 tmp.setStyle(KoBorder::DASH); 00399 else if ( _style.lower()=="dot") 00400 tmp.setStyle(KoBorder::DOT); 00401 else if ( _style.lower()=="dash dot") 00402 tmp.setStyle(KoBorder::DASH_DOT); 00403 else if ( _style.lower()=="dash dot dot") 00404 tmp.setStyle(KoBorder::DASH_DOT_DOT); 00405 else if ( _style.lower()=="double line") 00406 tmp.setStyle(KoBorder::DOUBLE_LINE); 00407 else 00408 { 00409 kdDebug()<<" style :"<<_style<<" do not exist!\n"; 00410 return; 00411 } 00412 m_frame->frame( 0 )->setTopBorder(tmp); 00413 } 00414 00415 void KWordFrameSetIface::setBottomBorderStyle(const QString & _style) 00416 { 00417 KoBorder tmp = m_frame->frame( 0 )->bottomBorder(); 00418 if ( _style.lower()=="solid") 00419 tmp.setStyle(KoBorder::SOLID); 00420 else if ( _style.lower()=="dash") 00421 tmp.setStyle(KoBorder::DASH); 00422 else if ( _style.lower()=="dot") 00423 tmp.setStyle(KoBorder::DOT); 00424 else if ( _style.lower()=="dash dot") 00425 tmp.setStyle(KoBorder::DASH_DOT); 00426 else if ( _style.lower()=="dash dot dot") 00427 tmp.setStyle(KoBorder::DASH_DOT_DOT); 00428 else if ( _style.lower()=="double line") 00429 tmp.setStyle(KoBorder::DOUBLE_LINE); 00430 else 00431 { 00432 kdDebug()<<" style :"<<_style<<" do not exist!\n"; 00433 return; 00434 } 00435 m_frame->frame( 0 )->setBottomBorder(tmp); 00436 } 00437 00438 bool KWordFrameSetIface::isFootEndNote() const 00439 { 00440 return m_frame->isFootEndNote(); 00441 } 00442 00443 QString KWordFrameSetIface::frameSetInfo() const 00444 { 00445 switch( m_frame->frameSetInfo() ) 00446 { 00447 case KWFrameSet::FI_BODY: 00448 return QString("body"); 00449 break; 00450 case KWFrameSet::FI_FIRST_HEADER: 00451 return QString("First header"); 00452 break; 00453 case KWFrameSet::FI_ODD_HEADER: 00454 return QString("First even header"); 00455 break; 00456 case KWFrameSet::FI_EVEN_HEADER: 00457 return QString("First odd header"); 00458 break; 00459 case KWFrameSet::FI_FIRST_FOOTER: 00460 return QString("First footer"); 00461 break; 00462 case KWFrameSet::FI_EVEN_FOOTER: 00463 return QString("Odd footer"); 00464 break; 00465 case KWFrameSet::FI_ODD_FOOTER: 00466 return QString("Even footer"); 00467 break; 00468 case KWFrameSet::FI_FOOTNOTE: 00469 return QString("FootNote"); 00470 break; 00471 default: 00472 return QString::null; 00473 break; 00474 } 00475 } 00476 00477 void KWordFrameSetIface::setFrameSetInfo( const QString & _type) 00478 { 00479 if ( _type.lower() =="body") 00480 { 00481 m_frame->setFrameSetInfo( KWFrameSet::FI_BODY ); 00482 } 00483 else if ( _type.lower() =="first header") 00484 { 00485 m_frame->setFrameSetInfo( KWFrameSet::FI_FIRST_HEADER ); 00486 } 00487 else if ( _type.lower() =="first even header") 00488 { 00489 m_frame->setFrameSetInfo( KWFrameSet::FI_ODD_HEADER ); 00490 } 00491 else if ( _type.lower() =="first odd header") 00492 { 00493 m_frame->setFrameSetInfo( KWFrameSet::FI_EVEN_HEADER ); 00494 } 00495 else if ( _type.lower() =="first footer") 00496 { 00497 m_frame->setFrameSetInfo( KWFrameSet::FI_FIRST_FOOTER ); 00498 } 00499 else if ( _type.lower() =="odd footer") 00500 { 00501 m_frame->setFrameSetInfo( KWFrameSet::FI_EVEN_FOOTER ); 00502 } 00503 else if ( _type.lower() =="even footer") 00504 { 00505 m_frame->setFrameSetInfo( KWFrameSet::FI_ODD_FOOTER ); 00506 } 00507 else if ( _type.lower() =="even footer") 00508 { 00509 m_frame->setFrameSetInfo( KWFrameSet::FI_ODD_FOOTER ); 00510 } 00511 else if ( _type.lower() =="footnote") 00512 { 00513 m_frame->setFrameSetInfo( KWFrameSet::FI_FOOTNOTE ); 00514 } 00515 else 00516 { 00517 kdDebug()<<" Error in setFrameSetInfo() :"<<_type<<endl; 00518 } 00519 } 00520