kword

KWordDocIface.cpp

00001 /* This file is part of the KDE project
00002    Copyright (C) 2001, 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 #include "KWordDocIface.h"
00020 #include "KWTextFrameSet.h"
00021 #include "KWordFrameSetIface.h"
00022 #include "KWDocument.h"
00023 #include "KWVariable.h"
00024 #include "KWPageManager.h"
00025 
00026 #include <kapplication.h>
00027 #include <dcopclient.h>
00028 #include <KoVariable.h>
00029 #include <KoAutoFormat.h>
00030 
00031 KWordDocIface::KWordDocIface( KWDocument *doc_ )
00032     : KoDocumentIface( doc_ )
00033 {
00034    doc = doc_;
00035 }
00036 
00037 DCOPRef KWordDocIface::textFrameSet( int num )
00038 {
00039     if( num>= (int)doc->frameSetCount())
00040         return DCOPRef();
00041     return DCOPRef( kapp->dcopClient()->appId(),
00042             doc->textFrameSet( num)->dcopObject()->objId() );
00043 }
00044 
00045 DCOPRef KWordDocIface::frameSet( int num )
00046 {
00047     if( num>= (int)doc->frameSetCount())
00048         return DCOPRef();
00049     return DCOPRef( kapp->dcopClient()->appId(),
00050             doc->frameSet( num)->dcopObject()->objId() );
00051 }
00052 
00053 int KWordDocIface::numFrameSets()const
00054 {
00055     return doc->frameSetCount();
00056 }
00057 
00058 int KWordDocIface::frameSetCount()const
00059 {
00060     return doc->frameSetCount();
00061 }
00062 
00063 unsigned int KWordDocIface::nbColumns()const
00064 {
00065     return doc->numColumns();
00066 }
00067 
00068 double KWordDocIface::ptPageTop( int pgNum )const
00069 {
00070     return doc->pageManager()->topOfPage(pgNum);
00071 }
00072 
00073 QString KWordDocIface::unitName()const
00074 {
00075     return doc->unitName();
00076 }
00077 
00078 void KWordDocIface::recalcAllVariables()
00079 {
00080     //recalc all variable
00081     doc->recalcVariables(VT_ALL);
00082 }
00083 
00084 void KWordDocIface::recalcVariables(int _var)
00085 {
00086     doc->recalcVariables(_var);
00087 }
00088 
00089 void KWordDocIface::recalcVariables(const QString &varName)
00090 {
00091     if(varName=="VT_DATE")
00092         doc->recalcVariables(0);
00093     else if(varName=="VT_TIME")
00094         doc->recalcVariables(2);
00095     else if(varName=="VT_PGNUM")
00096         doc->recalcVariables(4);
00097     else if(varName=="VT_CUSTOM")
00098         doc->recalcVariables(6);
00099     else if(varName=="VT_MAILMERGE")
00100         doc->recalcVariables(7);
00101     else if(varName=="VT_FIELD")
00102         doc->recalcVariables(8);
00103     else if(varName=="VT_LINK")
00104         doc->recalcVariables(9);
00105     else if(varName=="VT_NOTE")
00106         doc->recalcVariables(10);
00107     else if(varName=="VT_FOOTNOTE")
00108         doc->recalcVariables(11);
00109     else if(varName=="VT_ALL")
00110         doc->recalcVariables(256);
00111 }
00112 
00113 
00114 bool KWordDocIface::showRuler() const
00115 {
00116     return doc->showRuler();
00117 }
00118 
00119 bool KWordDocIface::showdocStruct() const
00120 {
00121     return doc->showdocStruct();
00122 }
00123 
00124 bool KWordDocIface::viewFrameBorders() const
00125 {
00126     return doc->viewFrameBorders();
00127 }
00128 
00129 void KWordDocIface::setHeaderVisible( bool b)
00130 {
00131     doc->setHeaderVisible(b);
00132     doc->refreshGUIButton();
00133 }
00134 
00135 void KWordDocIface::setFooterVisible( bool b)
00136 {
00137     doc->setFooterVisible( b);
00138     doc->refreshGUIButton();
00139 }
00140 
00141 void KWordDocIface::setViewFrameBorders( bool b )
00142 {
00143     doc->setViewFrameBorders( b );
00144     doc->refreshGUIButton();
00145 }
00146 
00147 void KWordDocIface::setShowRuler(bool b)
00148 {
00149     doc->setShowRuler(b);
00150     doc->refreshGUIButton();
00151     doc->reorganizeGUI();
00152 }
00153 
00154 bool KWordDocIface::viewFormattingChars() const
00155 {
00156     return doc->viewFormattingChars();
00157 }
00158 
00159 void KWordDocIface::setViewFormattingChars(bool b)
00160 {
00161     doc->setViewFormattingChars(b);
00162     doc->refreshGUIButton();
00163 }
00164 
00165 void KWordDocIface::setShowDocStruct(bool b)
00166 {
00167     doc->setShowDocStruct(b);
00168     doc->refreshGUIButton();
00169     doc->reorganizeGUI();
00170 }
00171 
00172 
00173 bool KWordDocIface::showStatusBar() const
00174 {
00175     return doc->showStatusBar();
00176 }
00177 
00178 void KWordDocIface::setShowStatusBar( bool _status )
00179 {
00180     doc->setShowStatusBar(_status);
00181     doc->reorganizeGUI();
00182 }
00183 
00184 int KWordDocIface::startingPage()const
00185 {
00186     return doc->variableCollection()->variableSetting()->startingPageNumber();
00187 }
00188 
00189 void KWordDocIface::setStartingPage(int nb)
00190 {
00191     doc->variableCollection()->variableSetting()->setStartingPageNumber(nb);
00192     doc->recalcVariables(VT_PGNUM);
00193 }
00194 
00195 bool KWordDocIface::displayLink()const
00196 {
00197     return doc->variableCollection()->variableSetting()->displayLink();
00198 }
00199 
00200 void KWordDocIface::setDisplayLink(bool b)
00201 {
00202     doc->variableCollection()->variableSetting()->setDisplayLink(b);
00203     doc->recalcVariables(VT_LINK);
00204 }
00205 
00206 bool KWordDocIface::setCustomVariableValue(const QString & varname, const QString & value)
00207 {
00208     bool exist=doc->variableCollection()->customVariableExist(varname);
00209     if(exist)
00210     {
00211         doc->variableCollection()->setVariableValue( varname, value );
00212         doc->recalcVariables(VT_CUSTOM);
00213     }
00214     else
00215         return false;
00216     return true;
00217 }
00218 
00219 
00220 QString KWordDocIface::customVariableValue(const QString & varname)const
00221 {
00222     if(doc->variableCollection()->customVariableExist(varname))
00223         return doc->variableCollection()->getVariableValue( varname );
00224     return QString::null;
00225 }
00226 
00227 void KWordDocIface::initConfig()
00228 {
00229     doc->initConfig();
00230 }
00231 
00232 void KWordDocIface::saveConfig()
00233 {
00234     doc->saveConfig();
00235 }
00236 
00237 bool KWordDocIface::isHeaderVisible() const
00238 {
00239     return doc->isHeaderVisible();
00240 }
00241 
00242 bool KWordDocIface::isFooterVisible() const
00243 {
00244     return doc->isFooterVisible();
00245 }
00246 
00247 bool KWordDocIface::backgroundSpellCheckEnabled() const
00248 {
00249     return doc->backgroundSpellCheckEnabled();
00250 }
00251 
00252 void KWordDocIface::enableBackgroundSpellCheck( bool b )
00253 {
00254     doc->enableBackgroundSpellCheck(b);
00255 }
00256 
00257 void KWordDocIface::startBackgroundSpellCheck()
00258 {
00259     doc->startBackgroundSpellCheck();
00260 }
00261 
00262 void KWordDocIface::reactivateBgSpellChecking()
00263 {
00264     doc->reactivateBgSpellChecking();
00265 }
00266 
00267 void KWordDocIface::setConfigUpperCase( bool _uc )
00268 {
00269     doc->autoFormat()->configUpperCase(_uc);
00270 }
00271 
00272 void KWordDocIface::setConfigUpperUpper( bool _uu )
00273 {
00274     doc->autoFormat()->configUpperUpper(_uu);
00275 }
00276 
00277 void KWordDocIface::setConfigAdvancedAutocorrect( bool _aa )
00278 {
00279     doc->autoFormat()->configAdvancedAutocorrect( _aa );
00280 
00281 }
00282 
00283 void KWordDocIface::setConfigAutoDetectUrl(bool _au)
00284 {
00285     doc->autoFormat()->configAutoDetectUrl(_au);
00286 }
00287 
00288 void KWordDocIface::setConfigIgnoreDoubleSpace( bool _ids)
00289 {
00290     doc->autoFormat()->configIgnoreDoubleSpace(_ids);
00291 }
00292 
00293 bool KWordDocIface::configUpperCase() const
00294 {
00295     return doc->autoFormat()->getConfigUpperCase();
00296 }
00297 
00298 bool KWordDocIface::configUpperUpper() const
00299 {
00300     return doc->autoFormat()->getConfigUpperUpper();
00301 }
00302 
00303 bool KWordDocIface::configAdvancedAutoCorrect() const
00304 {
00305     return doc->autoFormat()->getConfigAdvancedAutoCorrect();
00306 
00307 }
00308 bool KWordDocIface::configAutoDetectUrl() const
00309 {
00310     return doc->autoFormat()->getConfigAutoDetectUrl();
00311 
00312 }
00313 
00314 bool KWordDocIface::configIgnoreDoubleSpace() const
00315 {
00316     return doc->autoFormat()->getConfigIgnoreDoubleSpace();
00317 }
00318 
00319 bool KWordDocIface::configRemoveSpaceBeginEndLine() const
00320 {
00321     return doc->autoFormat()->getConfigIgnoreDoubleSpace();
00322 }
00323 
00324 bool KWordDocIface::configUseBulletSyle() const
00325 {
00326     return doc->autoFormat()->getConfigUseBulletSyle();
00327 }
00328 
00329 void KWordDocIface::setConfigRemoveSpaceBeginEndLine( bool _space)
00330 {
00331     doc->autoFormat()->configRemoveSpaceBeginEndLine(_space);
00332 }
00333 
00334 void KWordDocIface::setConfigUseBulletStyle( bool _ubs)
00335 {
00336     doc->autoFormat()->configUseBulletStyle(_ubs);
00337 }
00338 
00339 bool KWordDocIface::configAutoChangeFormat() const
00340 {
00341     return doc->autoFormat()->getConfigAutoChangeFormat();
00342 }
00343 
00344 void KWordDocIface::setConfigAutoChangeFormat( bool _auto)
00345 {
00346     doc->autoFormat()->configAutoChangeFormat(_auto);
00347 }
00348 
00349 bool KWordDocIface::configAutoReplaceNumber() const
00350 {
00351     return doc->autoFormat()->getConfigAutoReplaceNumber();
00352 }
00353 
00354 void KWordDocIface::setConfigAutoReplaceNumber( bool b )
00355 {
00356     doc->autoFormat()->configAutoReplaceNumber(b);
00357 }
00358 
00359 void KWordDocIface::setConfigAutoNumberStyle( bool b )
00360 {
00361     doc->autoFormat()->configAutoNumberStyle(b);
00362 }
00363 
00364 bool KWordDocIface::configAutoNumberStyle() const
00365 {
00366     return doc->autoFormat()->getConfigAutoNumberStyle();
00367 }
00368 
00369 void KWordDocIface::setConfigCompletion( bool b )
00370 {
00371     doc->autoFormat()->configCompletion( b );
00372 }
00373 
00374 bool KWordDocIface::configCompletion() const
00375 {
00376     return doc->autoFormat()->getConfigCompletion();
00377 }
00378 
00379 void KWordDocIface::setConfigToolTipCompletion( bool b )
00380 {
00381     doc->autoFormat()->configToolTipCompletion( b );
00382 }
00383 
00384 bool KWordDocIface::configToolTipCompletion() const
00385 {
00386     return doc->autoFormat()->getConfigToolTipCompletion();
00387 }
00388 
00389 void KWordDocIface::setConfigAppendSpace( bool b)
00390 {
00391     doc->autoFormat()->configAppendSpace( b );
00392 }
00393 
00394 bool KWordDocIface::configAppendSpace() const
00395 {
00396     return doc->autoFormat()->getConfigAppendSpace();
00397 }
00398 
00399 void KWordDocIface::setConfigMinWordLength( uint val )
00400 {
00401     doc->autoFormat()->configMinWordLength( val );
00402 }
00403 
00404 uint KWordDocIface::configMinWordLength() const
00405 {
00406     return doc->autoFormat()->getConfigMinWordLength();
00407 }
00408 
00409 void KWordDocIface::setConfigNbMaxCompletionWord( uint val )
00410 {
00411     doc->autoFormat()->configNbMaxCompletionWord( val );
00412 }
00413 
00414 uint KWordDocIface::configNbMaxCompletionWord() const
00415 {
00416     return doc->autoFormat()->getConfigNbMaxCompletionWord();
00417 }
00418 
00419 void KWordDocIface::setConfigAddCompletionWord( bool b )
00420 {
00421     doc->autoFormat()->configAddCompletionWord( b );
00422 }
00423 
00424 bool KWordDocIface::configAddCompletionWord() const
00425 {
00426     return doc->autoFormat()->getConfigAddCompletionWord();
00427 }
00428 
00429 bool KWordDocIface::configIncludeTwoUpperUpperLetterException() const
00430 {
00431     return doc->autoFormat()->getConfigIncludeTwoUpperUpperLetterException();
00432 }
00433 
00434 void KWordDocIface::setConfigIncludeTwoUpperUpperLetterException( bool b)
00435 {
00436     doc->autoFormat()->configIncludeTwoUpperUpperLetterException( b );
00437 }
00438 
00439 bool KWordDocIface::configIncludeAbbreviation() const
00440 {
00441     return doc->autoFormat()->getConfigIncludeAbbreviation();
00442 }
00443 
00444 void KWordDocIface::setConfigIncludeAbbreviation( bool b)
00445 {
00446     doc->autoFormat()->configIncludeAbbreviation( b );
00447 }
00448 
00449 bool KWordDocIface::displayComment() const
00450 {
00451     return doc->variableCollection()->variableSetting()->displayComment();
00452 }
00453 
00454 void KWordDocIface::setDisplayComment( bool b)
00455 {
00456     doc->variableCollection()->variableSetting()->setDisplayComment( b );
00457     doc->recalcVariables(VT_NOTE);
00458 }
00459 
00460 
00461 bool KWordDocIface::displayFieldCode()const
00462 {
00463     return doc->variableCollection()->variableSetting()->displayFieldCode();
00464 }
00465 
00466 void KWordDocIface::setDisplayFieldCode( bool b)
00467 {
00468     doc->variableCollection()->variableSetting()->setDisplayFieldCode( b );
00469     doc->recalcVariables(VT_ALL);
00470 }
00471 
00472 bool KWordDocIface::configAutoSuperScript() const
00473 {
00474     return doc->autoFormat()->getConfigAutoSuperScript();
00475 }
00476 
00477 void KWordDocIface::setConfigAutoSuperScript( bool b)
00478 {
00479     doc->autoFormat()->configAutoSuperScript( b );
00480 }
00481 
00482 void KWordDocIface::addIgnoreWordAll( const QString &word )
00483 {
00484     doc->addSpellCheckIgnoreWord( word );
00485 }
00486 
00487 void KWordDocIface::clearIgnoreWordAll( )
00488 {
00489     doc->setSpellCheckIgnoreList( QStringList() );
00490 }
00491 
00492 QStringList KWordDocIface::spellListIgnoreAll() const
00493 {
00494     return doc->spellCheckIgnoreList();
00495 }
00496 
00497 
00498 bool KWordDocIface::showScrollBar()const
00499 {
00500     return doc->showScrollBar();
00501 }
00502 
00503 void KWordDocIface::setShowScrollBar( bool _status )
00504 {
00505     doc->setShowScrollBar(_status );
00506     doc->reorganizeGUI();
00507 }
00508 
00509 double KWordDocIface::ptTabStopValue() const
00510 {
00511     return doc->tabStopValue();
00512 }
00513 
00514 void KWordDocIface::setPtTabStopValue ( double _tabStop )
00515 {
00516     doc->setTabStopValue (_tabStop );
00517 }
00518 
00519 int KWordDocIface::footNoteSeparatorLineLength() const
00520 {
00521     return doc->footNoteSeparatorLineLength();
00522 }
00523 
00524 void KWordDocIface::setFootNoteSeparatorLineLength( int _length)
00525 {
00526     doc->setFootNoteSeparatorLineLength( _length );
00527     doc->repaintAllViews();
00528 }
00529 
00530 void KWordDocIface::setFootNoteSeparatorLinePosition( const QString &pos)
00531 {
00532     SeparatorLinePos tmp=SLP_LEFT;
00533     if ( pos.lower()=="left")
00534         tmp=SLP_LEFT;
00535     else if ( pos.lower()=="centered")
00536         tmp=SLP_CENTERED;
00537     else if ( pos.lower()=="right")
00538         tmp=SLP_RIGHT;
00539     doc->setFootNoteSeparatorLinePosition( tmp);
00540     doc->repaintAllViews();
00541 }
00542 
00543 QString KWordDocIface::footNoteSeparatorLinePosition()const
00544 {
00545     QString tmp=QString::null;
00546     switch( doc->footNoteSeparatorLinePosition() )
00547     {
00548     case SLP_LEFT:
00549         return QString("left");
00550     case SLP_RIGHT:
00551         return QString("right");
00552     case SLP_CENTERED:
00553         return QString("centered");
00554     }
00555     return tmp;
00556 }
00557 
00558 double KWordDocIface::footNoteSeparatorLineWidth() const
00559 {
00560     return doc->footNoteSeparatorLineWidth();
00561 }
00562 
00563 void KWordDocIface::setFootNoteSeparatorLineWidth( double _width)
00564 {
00565     doc->setFootNoteSeparatorLineWidth( _width );
00566     doc->repaintAllViews();
00567 }
00568 
00569 void KWordDocIface::deleteBookMark(const QString &_name)
00570 {
00571     doc->deleteBookmark( _name );
00572 }
00573 
00574 void KWordDocIface::renameBookMark(const QString &_oldname, const QString &_newName)
00575 {
00576     doc->renameBookmark( _oldname, _newName);
00577 }
00578 
00579 QStringList KWordDocIface::listOfBookmarkName()const
00580 {
00581     //return all list
00582     return doc->listOfBookmarkName(0L);
00583 }
00584 
00585 QString KWordDocIface::configAutoFormatLanguage( )const
00586 {
00587     return doc->autoFormat()->getConfigAutoFormatLanguage( );
00588 }
00589 
00590 bool KWordDocIface::configCapitalizeNameOfDays() const
00591 {
00592     return doc->autoFormat()->getConfigCapitalizeNameOfDays();
00593 }
00594 
00595 void KWordDocIface::setConfigCapitalizeNameOfDays( bool b)
00596 {
00597     doc->autoFormat()->configCapitalizeNameOfDays( b );
00598 }
00599 
00600 bool KWordDocIface::showGrid() const
00601 {
00602     return doc->showGrid();
00603 }
00604 
00605 bool KWordDocIface::snapToGrid() const
00606 {
00607     return doc->snapToGrid();
00608 }
00609 
00610 double KWordDocIface::gridX() const
00611 {
00612     return doc->gridX();
00613 }
00614 
00615 double KWordDocIface::gridY() const
00616 {
00617     return doc->gridY();
00618 }
00619 
00620 void KWordDocIface::setGridX( double _gridX )
00621 {
00622 
00623     doc->setGridX( QMAX( 0.1, _gridX ) );
00624 }
00625 
00626 void KWordDocIface::setGridY( double _gridY )
00627 {
00628     doc->setGridY( QMAX( 0.1, _gridY ) );
00629 }
00630 
00631 void KWordDocIface::setShowGrid( bool _b )
00632 {
00633     doc->setShowGrid( _b );
00634 }
00635 
00636 void KWordDocIface::setSnapToGrid( bool _b )
00637 {
00638     doc->setSnapToGrid( _b );
00639 }
KDE Home | KDE Accessibility Home | Description of Access Keys