00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include "KPrPageIface.h"
00022
00023 #include "KPrPage.h"
00024 #include "KPrTextObject.h"
00025 #include "KPrView.h"
00026 #include "KPrBackground.h"
00027 #include <kapplication.h>
00028 #include <dcopclient.h>
00029 #include "KPrDocument.h"
00030 #include "KPrCanvas.h"
00031 #include <kdebug.h>
00032 #include <kcommand.h>
00033 #include "KPrCommand.h"
00034 #include <KoPoint.h>
00035 #include <KoRect.h>
00036
00037 KPrPageIface::KPrPageIface( KPrPage *_page, int pgnum )
00038
00039
00040 : DCOPObject( QCString( _page->kPresenterDoc()->dcopObject()->objId() ) + " Page-" + QString::number( pgnum ).latin1() )
00041 {
00042 m_page = _page;
00043 }
00044
00045 DCOPRef KPrPageIface::textObject( int num )
00046 {
00047 KPrTextObject * textObj=m_page->textFrameSet(num);
00048 if(textObj)
00049 return DCOPRef( kapp->dcopClient()->appId(),
00050 textObj->dcopObject()->objId() );
00051 return DCOPRef();
00052 }
00053
00054
00055 DCOPRef KPrPageIface::selectedObject( )
00056 {
00057 KPrObject * obj=m_page->getSelectedObj();
00058 if(obj)
00059 return DCOPRef( kapp->dcopClient()->appId(),
00060 obj->dcopObject()->objId() );
00061 return DCOPRef();
00062 }
00063
00064
00065 int KPrPageIface::numTextObject() const
00066 {
00067 return m_page->numTextObject();
00068 }
00069
00070 DCOPRef KPrPageIface::object( int num )
00071 {
00072 if( num >= (int)m_page->objNums())
00073 return DCOPRef();
00074 return DCOPRef( kapp->dcopClient()->appId(),
00075 m_page->getObject(num)->dcopObject()->objId() );
00076 }
00077
00078 QString KPrPageIface::manualTitle()const
00079 {
00080 return m_page->manualTitle();
00081 }
00082
00083 void KPrPageIface::insertManualTitle(const QString & title)
00084 {
00085 m_page->insertManualTitle(title);
00086 m_page->kPresenterDoc()->updateSideBarItem( m_page );
00087 }
00088
00089 QString KPrPageIface::pageTitle( const QString &_title ) const
00090 {
00091 return m_page->pageTitle(_title);
00092 }
00093
00094 void KPrPageIface::setNoteText( const QString &_text )
00095 {
00096 m_page->setNoteText(_text);
00097 }
00098
00099 QString KPrPageIface::noteText( )const
00100 {
00101 return m_page->noteText();
00102 }
00103
00104 unsigned int KPrPageIface::objNums() const
00105 {
00106 return m_page->objNums();
00107 }
00108
00109 int KPrPageIface::numSelected() const
00110 {
00111 return m_page->numSelected();
00112 }
00113
00114 DCOPRef KPrPageIface::groupObjects()
00115 {
00116 m_page->groupObjects();
00117 return selectedObject();
00118 }
00119
00120 void KPrPageIface::ungroupObjects()
00121 {
00122
00123
00124 }
00125
00126 void KPrPageIface::raiseObjs()
00127 {
00128 m_page->raiseObjs(false);
00129 }
00130
00131 void KPrPageIface::lowerObjs()
00132 {
00133 m_page->lowerObjs(false);
00134 }
00135
00136 void KPrPageIface::sendBackward()
00137 {
00138 m_page->lowerObjs(true);
00139 }
00140
00141 void KPrPageIface::bringForward()
00142 {
00143 m_page->raiseObjs(true);
00144 }
00145
00146 void KPrPageIface::copyObjs()
00147 {
00148
00149
00150 }
00151
00152 void KPrPageIface::slotRepaintVariable()
00153 {
00154 m_page->slotRepaintVariable();
00155 }
00156
00157 void KPrPageIface::recalcPageNum()
00158 {
00159 m_page->recalcPageNum();
00160 }
00161
00162 void KPrPageIface::setPageTimer( int pageTimer )
00163 {
00164 m_page->setPageTimer(pageTimer);
00165 }
00166
00167 void KPrPageIface::setPageSoundEffect( bool soundEffect )
00168 {
00169 m_page->setPageSoundEffect(soundEffect);
00170 }
00171
00172 void KPrPageIface::setPageSoundFileName( const QString &fileName )
00173 {
00174 m_page->setPageSoundFileName(fileName);
00175 }
00176
00177 int KPrPageIface::backXFactor() const
00178 {
00179 return m_page->getBackXFactor();
00180 }
00181
00182 int KPrPageIface::backYFactor( ) const
00183 {
00184 return m_page->getBackYFactor();
00185 }
00186
00187 int KPrPageIface::pageTimer( ) const
00188 {
00189 return m_page->getPageTimer();
00190 }
00191
00192 bool KPrPageIface::pageSoundEffect( ) const
00193 {
00194 return m_page->getPageSoundEffect();
00195 }
00196
00197 int KPrPageIface::backType() const
00198 {
00199 return (int)m_page->getBackType();
00200 }
00201
00202 int KPrPageIface::backView() const
00203 {
00204 return (int)m_page->getBackView();
00205 }
00206
00207 QColor KPrPageIface::backColor1() const
00208 {
00209 return m_page->getBackColor1();
00210 }
00211
00212 QColor KPrPageIface::backColor2() const
00213 {
00214 return m_page->getBackColor2();
00215 }
00216
00217 int KPrPageIface::backColorType() const
00218 {
00219 return (int)m_page->getBackColorType();
00220 }
00221
00222 QString KPrPageIface::backPixFilename() const
00223 {
00224 return m_page->getBackPictureKey().filename();
00225 }
00226
00227 QString KPrPageIface::backClipFilename() const
00228 {
00229 return m_page->getBackPictureKey().filename();
00230 }
00231
00232 int KPrPageIface::pageEffect() const
00233 {
00234 return (int)m_page->getPageEffect();
00235 }
00236
00237 void KPrPageIface::setPageEffect(const QString &effect )
00238 {
00239 if(effect=="NONE")
00240 m_page->setPageEffect(PEF_NONE);
00241 else if(effect=="CLOSE_HORZ")
00242 m_page->setPageEffect(PEF_CLOSE_HORZ);
00243 else if(effect=="CLOSE_VERT")
00244 m_page->setPageEffect(PEF_CLOSE_VERT);
00245 else if(effect=="CLOSE_ALL")
00246 m_page->setPageEffect(PEF_CLOSE_ALL);
00247 else if(effect=="OPEN_HORZ")
00248 m_page->setPageEffect(PEF_OPEN_HORZ);
00249 else if(effect=="OPEN_VERT")
00250 m_page->setPageEffect(PEF_OPEN_VERT);
00251 else if(effect=="OPEN_ALL")
00252 m_page->setPageEffect(PEF_OPEN_ALL);
00253 else if(effect=="INTERLOCKING_HORZ_1")
00254 m_page->setPageEffect(PEF_INTERLOCKING_HORZ_1);
00255 else if(effect=="INTERLOCKING_HORZ_2")
00256 m_page->setPageEffect(PEF_INTERLOCKING_HORZ_2);
00257 else if(effect=="INTERLOCKING_VERT_1")
00258 m_page->setPageEffect(PEF_INTERLOCKING_VERT_1);
00259 else if(effect=="INTERLOCKING_VERT_2")
00260 m_page->setPageEffect(PEF_INTERLOCKING_VERT_2);
00261 else if(effect=="SURROUND1")
00262 m_page->setPageEffect(PEF_SURROUND1);
00263 else if(effect=="FLY1")
00264 m_page->setPageEffect(PEF_FLY1);
00265 else if(effect=="BLINDS_HOR")
00266 m_page->setPageEffect(PEF_BLINDS_HOR);
00267 else if(effect=="BLINDS_VER")
00268 m_page->setPageEffect(PEF_BLINDS_VER);
00269 else if(effect=="BOX_IN")
00270 m_page->setPageEffect(PEF_BOX_IN);
00271 else if(effect=="BOX_OUT")
00272 m_page->setPageEffect(PEF_BOX_OUT);
00273 else if(effect=="CHECKBOARD_ACROSS")
00274 m_page->setPageEffect(PEF_CHECKBOARD_ACROSS);
00275 else if(effect=="CHECKBOARD_DOWN")
00276 m_page->setPageEffect(PEF_CHECKBOARD_DOWN);
00277 else if(effect=="COVER_DOWN")
00278 m_page->setPageEffect(PEF_COVER_DOWN);
00279 else if(effect=="UNCOVER_DOWN")
00280 m_page->setPageEffect(PEF_UNCOVER_DOWN);
00281 else if(effect=="COVER_UP")
00282 m_page->setPageEffect(PEF_COVER_UP);
00283 else if(effect=="UNCOVER_UP")
00284 m_page->setPageEffect(PEF_UNCOVER_UP);
00285 else if(effect=="COVER_LEFT")
00286 m_page->setPageEffect(PEF_COVER_LEFT);
00287 else if(effect=="UNCOVER_LEFT")
00288 m_page->setPageEffect(PEF_UNCOVER_LEFT);
00289 else if(effect=="COVER_RIGHT")
00290 m_page->setPageEffect(PEF_COVER_RIGHT);
00291 else if(effect=="UNCOVER_RIGHT")
00292 m_page->setPageEffect(PEF_UNCOVER_RIGHT);
00293 else if(effect=="COVER_LEFT_UP")
00294 m_page->setPageEffect(PEF_COVER_LEFT_UP);
00295 else if(effect=="UNCOVER_LEFT_UP")
00296 m_page->setPageEffect(PEF_UNCOVER_LEFT_UP);
00297 else if(effect=="COVER_LEFT_DOWN")
00298 m_page->setPageEffect(PEF_COVER_LEFT_DOWN);
00299 else if(effect=="UNCOVER_LEFT_DOWN")
00300 m_page->setPageEffect(PEF_UNCOVER_LEFT_DOWN);
00301 else if(effect=="COVER_RIGHT_UP")
00302 m_page->setPageEffect(PEF_COVER_RIGHT_UP);
00303 else if(effect=="UNCOVER_RIGHT_UP")
00304 m_page->setPageEffect(PEF_UNCOVER_RIGHT_UP);
00305 else if(effect=="COVER_RIGHT_DOWN")
00306 m_page->setPageEffect(PEF_COVER_RIGHT_DOWN);
00307 else if(effect=="UNCOVER_RIGHT_DOWN")
00308 m_page->setPageEffect(PEF_UNCOVER_RIGHT_DOWN);
00309 else if(effect=="DISSOLVE")
00310 m_page->setPageEffect(PEF_DISSOLVE);
00311 else if(effect=="STRIPS_LEFT_UP")
00312 m_page->setPageEffect(PEF_STRIPS_LEFT_UP);
00313 else if(effect=="STRIPS_LEFT_DOWN")
00314 m_page->setPageEffect(PEF_STRIPS_LEFT_DOWN);
00315 else if(effect=="STRIPS_RIGHT_UP")
00316 m_page->setPageEffect(PEF_STRIPS_RIGHT_UP);
00317 else if(effect=="STRIPS_RIGHT_DOWN")
00318 m_page->setPageEffect(PEF_STRIPS_RIGHT_DOWN);
00319 else if(effect=="MELTING")
00320 m_page->setPageEffect(PEF_MELTING);
00321 else if(effect=="RANDOM")
00322 m_page->setPageEffect(PEF_RANDOM);
00323 else
00324 kdDebug(33001) << "Error in setPageEffect" << endl;
00325 }
00326
00327 QString KPrPageIface::pageEffectString( )const
00328 {
00329 switch(m_page->getPageEffect( ))
00330 {
00331 case PEF_NONE:
00332 return QString("NONE");
00333 break;
00334 case PEF_CLOSE_HORZ:
00335 return QString("CLOSE_HORZ");
00336 break;
00337 case PEF_CLOSE_VERT:
00338 return QString("CLOSE_VERT");
00339 break;
00340 case PEF_CLOSE_ALL:
00341 return QString("CLOSE_ALL");
00342 break;
00343 case PEF_OPEN_HORZ:
00344 return QString("OPEN_HORZ");
00345 break;
00346 case PEF_OPEN_VERT:
00347 return QString("OPEN_VERT");
00348 break;
00349 case PEF_OPEN_ALL:
00350 return QString("OPEN_ALL");
00351 break;
00352 case PEF_INTERLOCKING_HORZ_1:
00353 return QString("INTERLOCKING_HORZ_1");
00354 break;
00355 case PEF_INTERLOCKING_HORZ_2:
00356 return QString("INTERLOCKING_HORZ_2");
00357 break;
00358 case PEF_INTERLOCKING_VERT_1:
00359 return QString("INTERLOCKING_VERT_1");
00360 break;
00361 case PEF_INTERLOCKING_VERT_2:
00362 return QString("INTERLOCKING_VERT_2");
00363 break;
00364 case PEF_SURROUND1:
00365 return QString("SURROUND1");
00366 break;
00367 case PEF_BLINDS_HOR:
00368 return QString("BLINDS_HOR");
00369 break;
00370 case PEF_BLINDS_VER:
00371 return QString("BLINDS_VER");
00372 break;
00373 case PEF_BOX_IN:
00374 return QString("BOX_IN");
00375 break;
00376 case PEF_BOX_OUT:
00377 return QString("BOX_OUT");
00378 break;
00379 case PEF_CHECKBOARD_ACROSS:
00380 return QString("CHECKBOARD_ACROSS");
00381 break;
00382 case PEF_COVER_DOWN:
00383 return QString("COVER_DOWN");
00384 break;
00385 case PEF_UNCOVER_DOWN:
00386 return QString("UNCOVER_DOWN");
00387 break;
00388 case PEF_COVER_UP:
00389 return QString("COVER_UP");
00390 break;
00391 case PEF_UNCOVER_UP:
00392 return QString("UNCOVER_UP");
00393 break;
00394 case PEF_COVER_LEFT:
00395 return QString("COVER_LEFT");
00396 break;
00397 case PEF_UNCOVER_LEFT:
00398 return QString("UNCOVER_LEFT");
00399 break;
00400 case PEF_COVER_RIGHT:
00401 return QString("COVER_RIGHT");
00402 break;
00403 case PEF_UNCOVER_RIGHT:
00404 return QString("UNCOVER_RIGHT");
00405 break;
00406 case PEF_COVER_LEFT_UP:
00407 return QString("COVER_LEFT_UP");
00408 break;
00409 case PEF_UNCOVER_LEFT_UP:
00410 return QString("UNCOVER_LEFT_UP");
00411 break;
00412 case PEF_COVER_LEFT_DOWN:
00413 return QString("COVER_LEFT_DOWN");
00414 break;
00415 case PEF_UNCOVER_LEFT_DOWN:
00416 return QString("UNCOVER_LEFT_DOWN");
00417 break;
00418 case PEF_COVER_RIGHT_UP:
00419 return QString("COVER_RIGHT_UP");
00420 break;
00421 case PEF_UNCOVER_RIGHT_UP:
00422 return QString("UNCOVER_RIGHT_UP");
00423 break;
00424 case PEF_COVER_RIGHT_DOWN:
00425 return QString("COVER_RIGHT_DOWN");
00426 break;
00427 case PEF_UNCOVER_RIGHT_DOWN:
00428 return QString("UNCOVER_RIGHT_DOWN");
00429 break;
00430 case PEF_DISSOLVE:
00431 return QString("DISSOLVE");
00432 break;
00433 case PEF_STRIPS_LEFT_UP:
00434 return QString("STRIPS_LEFT_UP");
00435 break;
00436 case PEF_STRIPS_LEFT_DOWN:
00437 return QString("STRIPS_LEFT_DOWN");
00438 break;
00439 case PEF_STRIPS_RIGHT_UP:
00440 return QString("STRIPS_RIGHT_UP");
00441 break;
00442 case PEF_STRIPS_RIGHT_DOWN:
00443 return QString("STRIPS_RIGHT_DOWN");
00444 break;
00445 case PEF_MELTING:
00446 return QString("MELTING");
00447 break;
00448 case PEF_RANDOM:
00449 return QString("RANDOM");
00450 break;
00451 default:
00452 kdDebug(33001) << "Page effect not defined!" << endl;
00453 break;
00454 }
00455 return QString("");
00456 }
00457
00458 bool KPrPageIface::backUnbalanced() const
00459 {
00460 return (int)m_page->getBackUnbalanced();
00461 }
00462
00463 QString KPrPageIface::pageSoundFileName() const
00464 {
00465 return m_page->getPageSoundFileName();
00466 }
00467
00468 QRect KPrPageIface::pageRect() const
00469 {
00470 return m_page->getZoomPageRect();
00471 }
00472
00473 bool KPrPageIface::isSlideSelected()
00474 {
00475 return m_page->isSlideSelected();
00476 }
00477
00478 void KPrPageIface::slideSelected(bool _b)
00479 {
00480 m_page->slideSelected(_b);
00481 m_page->kPresenterDoc()->updateSideBarItem( m_page );
00482 m_page->kPresenterDoc()->updatePresentationButton();
00483 }
00484
00485 void KPrPageIface::changePicture( const QString & filename )
00486 {
00487
00488 m_page->changePicture(filename, 0);
00489 }
00490
00491
00492 DCOPRef KPrPageIface::insertRectangle(double x, double y, double h, double w)
00493 {
00494 KPrView *view=m_page->kPresenterDoc()->firstView();
00495 m_page->kPresenterDoc()->deSelectAllObj();
00496 if ( !view )
00497 return DCOPRef();
00498 view->getCanvas()->insertRect( KoRect( x, y, h, w ) );
00499 return selectedObject();
00500 }
00501
00502 DCOPRef KPrPageIface::insertEllipse( double x, double y, double h, double w )
00503 {
00504 KPrView *view=m_page->kPresenterDoc()->firstView();
00505 m_page->kPresenterDoc()->deSelectAllObj();
00506 if ( !view )
00507 return DCOPRef();
00508
00509 view->getCanvas()->insertEllipse( KoRect( x, y, h, w ) );
00510 return selectedObject();
00511 }
00512
00513 DCOPRef KPrPageIface::insertPie( double x, double y, double h, double w )
00514 {
00515 KPrView *view=m_page->kPresenterDoc()->firstView();
00516 m_page->kPresenterDoc()->deSelectAllObj();
00517 if ( !view )
00518 return DCOPRef();
00519
00520 view->getCanvas()->insertPie( KoRect( x, y, h, w ) );
00521 return selectedObject();
00522 }
00523
00524 DCOPRef KPrPageIface::insertLine( double x1, double y1, double x2, double y2 )
00525 {
00526 KPrView *view=m_page->kPresenterDoc()->firstView();
00527 m_page->kPresenterDoc()->deSelectAllObj();
00528 if ( !view )
00529 return DCOPRef();
00530
00531 view->getCanvas()->insertLine( KoPoint( x1, y1), KoPoint( x2, y2 ) );
00532 return selectedObject();
00533 }
00534
00535 DCOPRef KPrPageIface::insertTextObject( double x, double y, double h, double w )
00536 {
00537 KPrView *view=m_page->kPresenterDoc()->firstView();
00538 m_page->kPresenterDoc()->deSelectAllObj();
00539 if ( !view )
00540 return DCOPRef();
00541
00542 view->getCanvas()->insertTextObject( KoRect( x, y, h, w ) );
00543 return selectedObject();
00544 }
00545
00546 DCOPRef KPrPageIface::insertPicture( const QString & file, double x, double y, double h, double w )
00547 {
00548 m_page->setInsPictureFile(file);
00549 KPrView *view=m_page->kPresenterDoc()->firstView();
00550 m_page->kPresenterDoc()->deSelectAllObj();
00551 if ( !view )
00552 return DCOPRef();
00553
00554 view->getCanvas()->insertPicture( KoRect( x, y, h, w ) );
00555 return selectedObject();
00556 }
00557
00558 void KPrPageIface::setBackGroundColor1(const QColor &col)
00559 {
00560 const QColor col2=backColor2();
00561 m_page->setBackColor( col, col2, m_page->getBackColorType(),
00562 m_page->getBackUnbalanced(), backXFactor(), backYFactor() );
00563 }
00564
00565 void KPrPageIface::setBackGroundColor2(const QColor &col)
00566 {
00567 const QColor col1=backColor1();
00568 m_page->setBackColor( col1, col, m_page->getBackColorType(),
00569 m_page->getBackUnbalanced(), backXFactor(), backYFactor() );
00570 }
00571
00572 void KPrPageIface::setBackGroundColorType(const QString &type)
00573 {
00574 BCType bctype;
00575 if(type=="PLAIN")
00576 bctype=BCT_PLAIN;
00577 else if(type=="GHORZ")
00578 bctype=BCT_GHORZ;
00579 else if(type=="GVERT")
00580 bctype=BCT_GVERT;
00581 else if(type=="GDIAGONAL1")
00582 bctype=BCT_GDIAGONAL1;
00583 else if(type=="GDIAGONAL2")
00584 bctype=BCT_GDIAGONAL2;
00585 else if(type=="GCIRCLE")
00586 bctype=BCT_GCIRCLE;
00587 else if(type=="GRECT")
00588 bctype=BCT_GRECT;
00589 else if(type=="GPIPECROSS")
00590 bctype=BCT_GPIPECROSS;
00591 else if(type=="GPYRAMID")
00592 bctype=BCT_GPYRAMID;
00593 else
00594 {
00595 kdDebug(33001)<<"Error KPrPageIface::setBackGroundColorType" << endl;
00596 return;
00597 }
00598
00599 m_page->setBackColor( backColor1(), backColor2(), bctype,m_page->getBackUnbalanced(),
00600 backXFactor(), backYFactor() );
00601 }
00602
00603 void KPrPageIface::deSelectAllObj()
00604 {
00605 m_page->deSelectAllObj();
00606 }
00607
00608 bool KPrPageIface::oneObjectTextExist() const
00609 {
00610 return m_page->oneObjectTextExist();
00611 }
00612
00613 bool KPrPageIface::isOneObjectSelected() const
00614 {
00615 return m_page->isOneObjectSelected();
00616 }
00617
00618 bool KPrPageIface::haveASelectedPartObj() const
00619 {
00620 return m_page->haveASelectedPartObj();
00621 }
00622
00623 bool KPrPageIface::haveASelectedGroupObj() const
00624 {
00625 return m_page->haveASelectedGroupObj();
00626 }
00627
00628 void KPrPageIface::rotateAllObjSelected(float _newAngle)
00629 {
00630 KCommand *cmd= m_page->rotateSelectedObjects( _newAngle);
00631 delete cmd;
00632 }
00633
00634 void KPrPageIface::moveAllObjectSelected( int diffx,int diffy)
00635 {
00636 KPrView *_view=m_page->kPresenterDoc()->firstView();
00637 if(_view)
00638 {
00639 KCommand *cmd=m_page->moveObject(_view, diffx,diffy);
00640 delete cmd;
00641 }
00642 }
00643
00644 void KPrPageIface::deleteAllObjectSelected()
00645 {
00646 KCommand * cmd=m_page->deleteSelectedObjects();
00647 delete cmd;
00648 }
00649
00650 bool KPrPageIface::hasHeader()const
00651 {
00652 return m_page->hasHeader();
00653 }
00654
00655 bool KPrPageIface::hasFooter()const
00656 {
00657 return m_page->hasFooter();
00658 }
00659
00660 void KPrPageIface::setHeader( bool b )
00661 {
00662 m_page->setHeader( b );
00663 }
00664
00665 void KPrPageIface::setFooter( bool b )
00666 {
00667 m_page->setFooter( b );
00668 }
00669
00670
00671 void KPrPageIface::setUseMasterBackground( bool useMasterBackground )
00672 {
00673 m_page->setUseMasterBackground( useMasterBackground );
00674 }
00675
00676 bool KPrPageIface::useMasterBackground() const
00677 {
00678 return m_page->useMasterBackground();
00679 }
00680
00681 void KPrPageIface::setDisplayObjectFromMasterPage( bool _b )
00682 {
00683 m_page->setDisplayObjectFromMasterPage( _b );
00684 }
00685
00686 bool KPrPageIface::displayObjectFromMasterPage() const
00687 {
00688 return m_page->displayObjectFromMasterPage();
00689 }
00690
00691 void KPrPageIface::setDisplayBackground( bool _b )
00692 {
00693 m_page->setDisplayBackground( _b );
00694 }
00695
00696 bool KPrPageIface::displayBackground() const
00697 {
00698 return m_page->displayBackground();
00699 }