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 
KDE Home | KDE Accessibility Home | Description of Access Keys