00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #include <kcommand.h>
00020 #include <KoGlobal.h>
00021 #include "kivio_command.h"
00022 #include "kivio_page.h"
00023 #include "kivio_map.h"
00024 #include "kivio_doc.h"
00025 #include "kivio_layer.h"
00026 #include "kivio_group_stencil.h"
00027
00028 KivioChangePageNameCommand::KivioChangePageNameCommand(const QString &_name, const QString & _oldPageName, const QString & _newPageName, KivioPage *_page)
00029 : KNamedCommand( _name ),
00030 oldPageName(_oldPageName ),
00031 newPageName(_newPageName ),
00032 m_page( _page )
00033 {
00034
00035 }
00036
00037 KivioChangePageNameCommand::~KivioChangePageNameCommand()
00038 {
00039 }
00040
00041 void KivioChangePageNameCommand::execute()
00042 {
00043 m_page->setPageName( newPageName );
00044 }
00045
00046 void KivioChangePageNameCommand::unexecute()
00047 {
00048 m_page->setPageName( oldPageName);
00049 }
00050
00051
00052 KivioHidePageCommand::KivioHidePageCommand(const QString &_name, KivioPage *_page)
00053 : KNamedCommand( _name ),
00054 m_page( _page )
00055 {
00056 }
00057
00058 KivioHidePageCommand::~KivioHidePageCommand()
00059 {
00060 }
00061
00062 void KivioHidePageCommand::execute()
00063 {
00064 m_page->setHidePage( true );
00065 }
00066
00067 void KivioHidePageCommand::unexecute()
00068 {
00069 m_page->setHidePage( false );
00070 }
00071
00072 KivioShowPageCommand::KivioShowPageCommand( const QString &_name, KivioPage *_page)
00073 : KivioHidePageCommand( _name, _page)
00074 {
00075 }
00076
00077
00078 KivioAddPageCommand::KivioAddPageCommand(const QString &_name, KivioPage *_page)
00079 : KNamedCommand( _name ),
00080 m_page( _page )
00081 {
00082 }
00083
00084 KivioAddPageCommand::~KivioAddPageCommand()
00085 {
00086 }
00087
00088 void KivioAddPageCommand::execute()
00089 {
00090 m_page->map()->insertPage( m_page );
00091 m_page->doc()->insertPage( m_page );
00092 }
00093
00094 void KivioAddPageCommand::unexecute()
00095 {
00096 m_page->map()->takePage( m_page );
00097 m_page->doc()->takePage( m_page );
00098 }
00099
00100 KivioRemovePageCommand::KivioRemovePageCommand(const QString &_name, KivioPage *_page)
00101 : KNamedCommand( _name ),
00102 m_page( _page )
00103 {
00104 }
00105
00106 KivioRemovePageCommand::~KivioRemovePageCommand()
00107 {
00108 }
00109
00110 void KivioRemovePageCommand::execute()
00111 {
00112 m_page->map()->takePage( m_page );
00113 m_page->doc()->takePage( m_page );
00114 }
00115
00116 void KivioRemovePageCommand::unexecute()
00117 {
00118 m_page->map()->insertPage( m_page );
00119 m_page->doc()->insertPage( m_page );
00120
00121 }
00122
00123 KivioAddStencilCommand::KivioAddStencilCommand(const QString &_name, KivioPage *_page, KivioLayer * _layer, KivioStencil *_stencil )
00124 : KNamedCommand( _name ),
00125 m_page( _page ),
00126 m_layer( _layer),
00127 m_stencil( _stencil)
00128 {
00129 }
00130
00131 KivioAddStencilCommand::~KivioAddStencilCommand()
00132 {
00133 }
00134
00135 void KivioAddStencilCommand::execute()
00136 {
00137 m_layer->insertStencil( m_stencil );
00138 m_page->doc()->updateView(m_page);
00139 m_stencil->unselect();
00140 m_stencil->searchForConnections(m_page, 4.0);
00141 m_page->doc()->slotSelectionChanged();
00142 }
00143
00144 void KivioAddStencilCommand::unexecute()
00145 {
00146 m_layer->takeStencilFromList( m_stencil );
00147 m_page->doc()->updateView(m_page);
00148 m_stencil->unselect();
00149 m_page->doc()->slotSelectionChanged();
00150 }
00151
00152 KivioRemoveStencilCommand::KivioRemoveStencilCommand(const QString &_name, KivioPage *_page, KivioLayer * _layer, KivioStencil *_stencil )
00153 : KivioAddStencilCommand(_name, _page, _layer, _stencil )
00154 {
00155 }
00156
00157 KivioChangeStencilTextCommand::KivioChangeStencilTextCommand(const QString& _name, KivioStencil* _stencil,
00158 const QString& _oldText, const QString& _newText, KivioPage* _page, const QString& textBoxName)
00159 : KNamedCommand( _name ),
00160 m_stencil(_stencil),
00161 oldText(_oldText),
00162 newText(_newText),
00163 m_page(_page),
00164 m_textBoxName(textBoxName)
00165 {
00166 }
00167
00168 KivioChangeStencilTextCommand::~KivioChangeStencilTextCommand()
00169 {
00170 }
00171
00172 void KivioChangeStencilTextCommand::execute()
00173 {
00174 if(m_textBoxName.isEmpty()) {
00175 m_stencil->setText(newText);
00176 } else {
00177 m_stencil->setText(newText, m_textBoxName);
00178 }
00179
00180 m_page->doc()->updateView(m_page);
00181 }
00182
00183 void KivioChangeStencilTextCommand::unexecute()
00184 {
00185 if(m_textBoxName.isEmpty()) {
00186 m_stencil->setText(oldText);
00187 } else {
00188 m_stencil->setText(oldText, m_textBoxName);
00189 }
00190
00191 m_page->doc()->updateView(m_page);
00192 }
00193
00194
00195 KivioAddLayerCommand::KivioAddLayerCommand( const QString &_name, KivioPage *_page, KivioLayer * _layer, int _pos )
00196 :KNamedCommand( _name ),
00197 m_page( _page ),
00198 m_layer( _layer),
00199 layerPos(_pos)
00200 {
00201 }
00202
00203 KivioAddLayerCommand::~KivioAddLayerCommand()
00204 {
00205 }
00206
00207 void KivioAddLayerCommand::execute()
00208 {
00209 m_page->insertLayer( layerPos-1, m_layer );
00210 m_page->doc()->updateView(m_page);
00211 m_page->doc()->resetLayerPanel();
00212
00213 }
00214
00215 void KivioAddLayerCommand::unexecute()
00216 {
00217 m_page->takeLayer( m_layer );
00218 m_page->doc()->updateView(m_page);
00219 m_page->doc()->resetLayerPanel();
00220 }
00221
00222
00223 KivioRemoveLayerCommand::KivioRemoveLayerCommand( const QString &_name, KivioPage *_page, KivioLayer * _layer, int _pos )
00224 :KivioAddLayerCommand( _name, _page, _layer, _pos )
00225 {
00226 }
00227
00228 KivioRenameLayerCommand::KivioRenameLayerCommand( const QString &_name, KivioLayer * _layer, const QString & _oldName, const QString & _newName)
00229 :KNamedCommand( _name ),
00230 m_layer( _layer ),
00231 oldName( _oldName),
00232 newName( _newName)
00233 {
00234 }
00235
00236 KivioRenameLayerCommand::~KivioRenameLayerCommand()
00237 {
00238 }
00239
00240 void KivioRenameLayerCommand::execute()
00241 {
00242 m_layer->setName(newName);
00243 m_layer->page()->doc()->resetLayerPanel();
00244 }
00245
00246 void KivioRenameLayerCommand::unexecute()
00247 {
00248 m_layer->setName(oldName);
00249 m_layer->page()->doc()->resetLayerPanel();
00250 }
00251
00252 KivioResizeStencilCommand::KivioResizeStencilCommand( const QString &_name, KivioStencil *_stencil, KoRect _initSize, KoRect _endSize, KivioPage *_page)
00253 :KNamedCommand( _name ),
00254 m_stencil( _stencil),
00255 initSize( _initSize),
00256 endSize( _endSize ),
00257 m_page( _page)
00258 {
00259 }
00260
00261 KivioResizeStencilCommand::~KivioResizeStencilCommand()
00262 {
00263 }
00264
00265 void KivioResizeStencilCommand::execute()
00266 {
00267 m_stencil->setDimensions( endSize.width(), endSize.height() );
00268 m_stencil->setPosition( endSize.x(), endSize.y() );
00269 m_page->doc()->updateView(m_page);
00270 }
00271
00272 void KivioResizeStencilCommand::unexecute()
00273 {
00274 m_stencil->setDimensions( initSize.width(), initSize.height() );
00275 m_stencil->setPosition( initSize.x(), initSize.y() );
00276 m_page->doc()->updateView(m_page);
00277 }
00278
00279
00280 KivioMoveStencilCommand::KivioMoveStencilCommand( const QString &_name, KivioStencil *_stencil, KoRect _initSize, KoRect _endSize, KivioPage *_page)
00281 :KNamedCommand( _name ),
00282 m_stencil( _stencil),
00283 initSize( _initSize),
00284 endSize( _endSize ),
00285 m_page( _page)
00286 {
00287 }
00288
00289 KivioMoveStencilCommand::~KivioMoveStencilCommand()
00290 {
00291 }
00292
00293 void KivioMoveStencilCommand::execute()
00294 {
00295 m_stencil->setDimensions( endSize.width(), endSize.height() );
00296 m_stencil->setPosition( endSize.x(), endSize.y() );
00297 m_page->doc()->updateView(m_page);
00298 }
00299
00300 void KivioMoveStencilCommand::unexecute()
00301 {
00302 m_stencil->setDimensions( initSize.width(), initSize.height() );
00303 m_stencil->setPosition( initSize.x(), initSize.y() );
00304 m_page->doc()->updateView(m_page);
00305 }
00306
00307 KivioChangeLayoutCommand::KivioChangeLayoutCommand( const QString &_name, KivioPage *_page, KoPageLayout _oldLayout, KoPageLayout _newLayout)
00308 :KNamedCommand( _name),
00309 m_page(_page),
00310 oldLayout( _oldLayout),
00311 newLayout( _newLayout)
00312 {
00313 }
00314
00315 KivioChangeLayoutCommand::~KivioChangeLayoutCommand()
00316 {
00317 }
00318
00319 void KivioChangeLayoutCommand::execute()
00320 {
00321 m_page->setPaperLayout(newLayout);
00322 }
00323
00324 void KivioChangeLayoutCommand::unexecute()
00325 {
00326 m_page->setPaperLayout(oldLayout);
00327 }
00328
00329 KivioChangeStencilHAlignmentCommand::KivioChangeStencilHAlignmentCommand(const QString& _name, KivioPage* _page,
00330 KivioStencil* _stencil, int _oldAlign, int _newAlign, const QString& textBoxName)
00331 : KNamedCommand(_name),
00332 m_page(_page),
00333 m_stencil(_stencil),
00334 oldAlign(_oldAlign),
00335 newAlign(_newAlign),
00336 m_textBoxName(textBoxName)
00337 {
00338 }
00339
00340 KivioChangeStencilHAlignmentCommand::~KivioChangeStencilHAlignmentCommand()
00341 {
00342 }
00343
00344 void KivioChangeStencilHAlignmentCommand::execute()
00345 {
00346 if(m_textBoxName.isEmpty()) {
00347 m_stencil->setHTextAlign(newAlign);
00348 } else {
00349 m_stencil->setHTextAlign(m_textBoxName, newAlign);
00350 }
00351
00352 m_page->doc()->updateView(m_page);
00353 m_page->doc()->slotSelectionChanged();
00354 }
00355
00356 void KivioChangeStencilHAlignmentCommand::unexecute()
00357 {
00358 if(m_textBoxName.isEmpty()) {
00359 m_stencil->setHTextAlign(newAlign);
00360 } else {
00361 m_stencil->setHTextAlign(m_textBoxName, newAlign);
00362 }
00363
00364 m_page->doc()->updateView(m_page);
00365 m_page->doc()->slotSelectionChanged();
00366 }
00367
00368 KivioChangeStencilVAlignmentCommand::KivioChangeStencilVAlignmentCommand(const QString& _name, KivioPage* _page,
00369 KivioStencil* _stencil, int _oldAlign, int _newAlign, const QString& textBoxName)
00370 : KNamedCommand(_name),
00371 m_page(_page),
00372 m_stencil(_stencil),
00373 oldAlign(_oldAlign),
00374 newAlign(_newAlign),
00375 m_textBoxName(textBoxName)
00376 {
00377 }
00378
00379 KivioChangeStencilVAlignmentCommand::~KivioChangeStencilVAlignmentCommand()
00380 {
00381 }
00382
00383 void KivioChangeStencilVAlignmentCommand::execute()
00384 {
00385 if(m_textBoxName.isEmpty()) {
00386 m_stencil->setVTextAlign(newAlign);
00387 } else {
00388 m_stencil->setVTextAlign(m_textBoxName, newAlign);
00389 }
00390
00391 m_page->doc()->updateView(m_page);
00392 m_page->doc()->slotSelectionChanged();
00393 }
00394
00395 void KivioChangeStencilVAlignmentCommand::unexecute()
00396 {
00397 if(m_textBoxName.isEmpty()) {
00398 m_stencil->setVTextAlign(oldAlign);
00399 } else {
00400 m_stencil->setVTextAlign(m_textBoxName, oldAlign);
00401 }
00402
00403 m_page->doc()->updateView(m_page);
00404 m_page->doc()->slotSelectionChanged();
00405 }
00406
00407
00408 KivioChangeStencilFontCommand::KivioChangeStencilFontCommand(const QString& _name, KivioPage* _page,
00409 KivioStencil* _stencil, const QFont& _oldFont, const QFont& _newFont, const QString& textBoxName)
00410 : KNamedCommand(_name),
00411 m_page(_page),
00412 m_stencil( _stencil),
00413 oldFont(_oldFont),
00414 newFont(_newFont),
00415 m_textBoxName(textBoxName)
00416 {
00417 }
00418
00419 KivioChangeStencilFontCommand::~KivioChangeStencilFontCommand()
00420 {
00421 }
00422
00423 void KivioChangeStencilFontCommand::execute()
00424 {
00425 if(m_textBoxName.isEmpty()) {
00426 m_stencil->setTextFont(newFont);
00427 } else {
00428 m_stencil->setTextFont(m_textBoxName, newFont);
00429 }
00430
00431 m_page->doc()->updateView(m_page);
00432 m_page->doc()->slotSelectionChanged();
00433 }
00434
00435 void KivioChangeStencilFontCommand::unexecute()
00436 {
00437 if(m_textBoxName.isEmpty()) {
00438 m_stencil->setTextFont(oldFont);
00439 } else {
00440 m_stencil->setTextFont(m_textBoxName, oldFont);
00441 }
00442
00443 m_page->doc()->updateView(m_page);
00444 m_page->doc()->slotSelectionChanged();
00445 }
00446
00447 KivioChangeStencilColorCommand::KivioChangeStencilColorCommand(const QString& _name, KivioPage* _page,
00448 KivioStencil* _stencil, const QColor& _oldColor, const QColor& _newColor, ColorType _type, const QString& textBoxName)
00449 : KNamedCommand(_name),
00450 m_page(_page),
00451 m_stencil(_stencil),
00452 oldColor(_oldColor),
00453 newColor(_newColor),
00454 type(_type),
00455 m_textBoxName(textBoxName)
00456 {
00457 }
00458
00459 KivioChangeStencilColorCommand::~KivioChangeStencilColorCommand()
00460 {
00461 }
00462
00463 void KivioChangeStencilColorCommand::execute()
00464 {
00465 switch( type ) {
00466 case CT_TEXTCOLOR:
00467 if(m_textBoxName.isEmpty()) {
00468 m_stencil->setTextColor(newColor);
00469 } else {
00470 m_stencil->setTextColor(m_textBoxName, newColor);
00471 }
00472 break;
00473 case CT_BGCOLOR:
00474 m_stencil->setBGColor(newColor);
00475 break;
00476 case CT_FGCOLOR:
00477 m_stencil->setFGColor(newColor);
00478 break;
00479 }
00480
00481 m_page->doc()->updateView(m_page);
00482 m_page->doc()->slotSelectionChanged();
00483 }
00484
00485 void KivioChangeStencilColorCommand::unexecute()
00486 {
00487 switch( type ) {
00488 case CT_TEXTCOLOR:
00489 if(m_textBoxName.isEmpty()) {
00490 m_stencil->setTextColor(oldColor);
00491 } else {
00492 m_stencil->setTextColor(m_textBoxName, oldColor);
00493 }
00494 break;
00495 case CT_BGCOLOR:
00496 m_stencil->setBGColor(oldColor);
00497 break;
00498 case CT_FGCOLOR:
00499 m_stencil->setFGColor(oldColor);
00500 break;
00501 }
00502
00503 m_page->doc()->updateView(m_page);
00504 m_page->doc()->slotSelectionChanged();
00505 }
00506
00507
00508 KivioChangeLineWidthCommand::KivioChangeLineWidthCommand( const QString &_name,
00509 KivioPage *_page, KivioStencil * _stencil, double _oldValue, double _newValue)
00510 :KNamedCommand( _name),
00511 m_page(_page),
00512 m_stencil( _stencil ),
00513 oldValue( _oldValue),
00514 newValue( _newValue)
00515 {
00516 }
00517
00518 KivioChangeLineWidthCommand::~KivioChangeLineWidthCommand()
00519 {
00520 }
00521
00522 void KivioChangeLineWidthCommand::execute()
00523 {
00524 m_stencil->setLineWidth( newValue );
00525 m_page->doc()->updateView(m_page);
00526 m_page->doc()->slotSelectionChanged();
00527 }
00528
00529 void KivioChangeLineWidthCommand::unexecute()
00530 {
00531 m_stencil->setLineWidth( oldValue );
00532 m_page->doc()->updateView(m_page);
00533 m_page->doc()->slotSelectionChanged();
00534 }
00535
00536 KivioChangeRotationCommand::KivioChangeRotationCommand( const QString &_name,
00537 KivioPage *_page, KivioStencil * _stencil, int _oldValue, int _newValue)
00538 :KNamedCommand( _name),
00539 m_page(_page),
00540 m_stencil( _stencil ),
00541 oldValue( _oldValue),
00542 newValue( _newValue)
00543 {
00544 }
00545
00546 KivioChangeRotationCommand::~KivioChangeRotationCommand()
00547 {
00548 }
00549
00550 void KivioChangeRotationCommand::execute()
00551 {
00552 m_stencil->setRotation( newValue );
00553 m_page->doc()->updateView(m_page);
00554 m_page->doc()->slotSelectionChanged();
00555 }
00556
00557 void KivioChangeRotationCommand::unexecute()
00558 {
00559 m_stencil->setRotation( oldValue );
00560 m_page->doc()->updateView(m_page);
00561 m_page->doc()->slotSelectionChanged();
00562 }
00563
00564
00565 KivioChangeLineStyleCommand::KivioChangeLineStyleCommand( const QString &_name,
00566 KivioPage *_page, KivioStencil * _stencil, int _oldValue, int _newValue)
00567 :KNamedCommand( _name),
00568 m_page(_page),
00569 m_stencil( _stencil ),
00570 oldValue( _oldValue),
00571 newValue( _newValue)
00572 {
00573 }
00574
00575 KivioChangeLineStyleCommand::~KivioChangeLineStyleCommand()
00576 {
00577 }
00578
00579 void KivioChangeLineStyleCommand::execute()
00580 {
00581 m_stencil->setLinePattern( newValue );
00582 m_page->doc()->updateView(m_page);
00583 m_page->doc()->slotSelectionChanged();
00584 }
00585
00586 void KivioChangeLineStyleCommand::unexecute()
00587 {
00588 m_stencil->setLinePattern( oldValue );
00589 m_page->doc()->updateView(m_page);
00590 m_page->doc()->slotSelectionChanged();
00591 }
00592
00593 KivioChangeBeginEndArrowCommand::KivioChangeBeginEndArrowCommand( const QString &_name, KivioPage *_page, KivioStencil * _stencil, int _oldArrow, int _newArrow, bool _beginArrow)
00594 :KNamedCommand( _name),
00595 m_page(_page),
00596 m_stencil( _stencil ),
00597 oldArrow( _oldArrow),
00598 newArrow( _newArrow),
00599 beginArrow(_beginArrow)
00600 {
00601 }
00602
00603 KivioChangeBeginEndArrowCommand::~KivioChangeBeginEndArrowCommand()
00604 {
00605 }
00606
00607 void KivioChangeBeginEndArrowCommand::execute()
00608 {
00609 if (beginArrow)
00610 m_stencil->setStartAHType(newArrow);
00611 else
00612 m_stencil->setEndAHType(newArrow);
00613 m_page->doc()->updateView(m_page);
00614 m_page->doc()->slotSelectionChanged();
00615 }
00616
00617 void KivioChangeBeginEndArrowCommand::unexecute()
00618 {
00619 if (beginArrow)
00620 m_stencil->setStartAHType(oldArrow);
00621 else
00622 m_stencil->setEndAHType(oldArrow);
00623 m_page->doc()->updateView(m_page);
00624 m_page->doc()->slotSelectionChanged();
00625 }
00626
00627
00628 KivioChangeBeginEndSizeArrowCommand::KivioChangeBeginEndSizeArrowCommand( const QString &_name, KivioPage *_page, KivioStencil * _stencil, float _oldH,float _oldW, float _newH,float _newW, bool _beginArrow)
00629 :KNamedCommand( _name),
00630 m_page(_page),
00631 m_stencil( _stencil ),
00632 oldWidth( _oldW),
00633 oldLength( _oldH),
00634 newWidth( _newW),
00635 newLength( _newH),
00636 beginArrow(_beginArrow)
00637 {
00638 }
00639
00640 KivioChangeBeginEndSizeArrowCommand::~KivioChangeBeginEndSizeArrowCommand()
00641 {
00642 }
00643
00644 void KivioChangeBeginEndSizeArrowCommand::execute()
00645 {
00646 if (beginArrow)
00647 {
00648 m_stencil->setStartAHWidth(newWidth);
00649 m_stencil->setStartAHLength(newLength);
00650 }
00651 else
00652 {
00653 m_stencil->setEndAHWidth(newWidth);
00654 m_stencil->setEndAHLength(newLength);
00655 }
00656 m_page->doc()->updateView(m_page);
00657 m_page->doc()->slotSelectionChanged();
00658 }
00659
00660 void KivioChangeBeginEndSizeArrowCommand::unexecute()
00661 {
00662 if (beginArrow)
00663 {
00664 m_stencil->setStartAHWidth(oldWidth);
00665 m_stencil->setStartAHLength(oldLength);
00666 }
00667 else
00668 {
00669 m_stencil->setEndAHWidth(oldWidth);
00670 m_stencil->setEndAHLength(oldLength);
00671 }
00672 m_page->doc()->updateView(m_page);
00673 m_page->doc()->slotSelectionChanged();
00674 }
00675
00676 KivioChangeStencilProtectCommand::KivioChangeStencilProtectCommand( const QString &_name, KivioPage *_page, KivioStencil * _stencil, bool _state, KVP_TYPE _type)
00677 :KNamedCommand( _name),
00678 m_page(_page),
00679 m_stencil( _stencil ),
00680 type( _type),
00681 m_bValue( _state)
00682 {
00683 }
00684
00685 void KivioChangeStencilProtectCommand::execute()
00686 {
00687 changeValue( m_bValue );
00688 }
00689
00690 void KivioChangeStencilProtectCommand::unexecute()
00691 {
00692 changeValue( !m_bValue );
00693 }
00694
00695 void KivioChangeStencilProtectCommand::changeValue( bool b )
00696 {
00697 switch( type )
00698 {
00699 case KV_POSX:
00700 m_stencil->protection()->setBit( kpX, b );
00701 break;
00702 case KV_POSY:
00703 m_stencil->protection()->setBit( kpY, b );
00704 break;
00705 case KV_WIDTH:
00706 m_stencil->protection()->setBit( kpWidth, b );
00707 break;
00708 case KV_HEIGHT:
00709 m_stencil->protection()->setBit( kpHeight, b );
00710 break;
00711 case KV_ASPECT:
00712 m_stencil->protection()->setBit( kpAspect, b );
00713 break;
00714 case KV_DELETE:
00715 m_stencil->protection()->setBit( kpDeletion, b);
00716 break;
00717 default:
00718 break;
00719 }
00720
00721 m_page->doc()->updateProtectPanelCheckBox();
00722 m_page->doc()->updateView(m_page);
00723 }
00724
00725 KivioAddConnectorTargetCommand::KivioAddConnectorTargetCommand(const QString& name, KivioPage* page,
00726 KivioStencil* stencil, const KoPoint& targetPoint) : KNamedCommand(name)
00727 {
00728 m_page = page;
00729 m_stencil = stencil;
00730 m_targetPoint = targetPoint;
00731 }
00732 void KivioAddConnectorTargetCommand::execute()
00733 {
00734 m_stencil->addConnectorTarget(m_targetPoint);
00735 m_page->doc()->updateView(m_page);
00736 }
00737
00738 void KivioAddConnectorTargetCommand::unexecute()
00739 {
00740 m_stencil->removeConnectorTarget(m_targetPoint);
00741 m_page->doc()->updateView(m_page);
00742 }
00743
00744
00745 KivioCustomDragCommand::KivioCustomDragCommand(const QString& name, KivioPage* page, KivioStencil* stencil,
00746 int customID, const KoPoint& originalPoint, const KoPoint& newPoint)
00747 : KNamedCommand(name)
00748 {
00749 m_page = page;
00750 m_stencil = stencil;
00751 m_customID = customID;
00752 m_originalPoint = originalPoint;
00753 m_newPoint = newPoint;
00754 }
00755
00756 void KivioCustomDragCommand::execute()
00757 {
00758 m_stencil->setCustomIDPoint(m_customID, m_newPoint, m_page);
00759 m_page->doc()->updateView(m_page);
00760 }
00761
00762 void KivioCustomDragCommand::unexecute()
00763 {
00764 m_stencil->setCustomIDPoint(m_customID, m_originalPoint, m_page);
00765 m_page->doc()->updateView(m_page);
00766 }
00767
00768
00769 KivioGroupCommand::KivioGroupCommand(const QString& name, KivioPage* page, KivioLayer* layer,
00770 KivioGroupStencil* group)
00771 : KNamedCommand(name)
00772 {
00773 m_page = page;
00774 m_layer = layer;
00775 m_groupStencil = group;
00776 }
00777
00778 void KivioGroupCommand::execute()
00779 {
00780 QPtrList<KivioStencil>* list = m_groupStencil->groupList();
00781 QPtrListIterator<KivioStencil> it(*list);
00782 KivioStencil* stencil = 0;
00783
00784 for(; (stencil = it.current()) != 0; ++it) {
00785 m_layer->takeStencil(stencil);
00786 }
00787
00788 m_groupStencil->unselect();
00789 m_layer->addStencil(m_groupStencil);
00790 m_page->doc()->updateView(m_page);
00791 }
00792
00793 void KivioGroupCommand::unexecute()
00794 {
00795 QPtrList<KivioStencil>* list = m_groupStencil->groupList();
00796 QPtrListIterator<KivioStencil> it(*list);
00797 KivioStencil* stencil = 0;
00798
00799 for(; (stencil = it.current()) != 0; ++it) {
00800 stencil->unselect();
00801 m_layer->addStencil(stencil);
00802 }
00803
00804 m_layer->takeStencil(m_groupStencil);
00805 m_page->doc()->updateView(m_page);
00806 }