You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
807 lines
20 KiB
807 lines
20 KiB
/* This file is part of the KDE project
|
|
Copyright (C) 2002 Laurent Montel <lmontel@mandrakesoft.com>
|
|
|
|
This library is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU Library General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
|
|
This library is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Library General Public License for more details.
|
|
|
|
You should have received a copy of the GNU Library General Public License
|
|
along with this library; see the file COPYING.LIB. If not, write to
|
|
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
|
Boston, MA 02110-1301, USA.
|
|
*/
|
|
#include <kcommand.h>
|
|
#include <KoGlobal.h>
|
|
#include "kivio_command.h"
|
|
#include "kivio_page.h"
|
|
#include "kivio_map.h"
|
|
#include "kivio_doc.h"
|
|
#include "kivio_layer.h"
|
|
#include "kivio_group_stencil.h"
|
|
|
|
KivioChangePageNameCommand::KivioChangePageNameCommand(const TQString &_name, const TQString & _oldPageName, const TQString & _newPageName, KivioPage *_page)
|
|
: KNamedCommand( _name ),
|
|
oldPageName(_oldPageName ),
|
|
newPageName(_newPageName ),
|
|
m_page( _page )
|
|
{
|
|
|
|
}
|
|
|
|
KivioChangePageNameCommand::~KivioChangePageNameCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangePageNameCommand::execute()
|
|
{
|
|
m_page->setPageName( newPageName );
|
|
}
|
|
|
|
void KivioChangePageNameCommand::unexecute()
|
|
{
|
|
m_page->setPageName( oldPageName);
|
|
}
|
|
|
|
|
|
KivioHidePageCommand::KivioHidePageCommand(const TQString &_name, KivioPage *_page)
|
|
: KNamedCommand( _name ),
|
|
m_page( _page )
|
|
{
|
|
}
|
|
|
|
KivioHidePageCommand::~KivioHidePageCommand()
|
|
{
|
|
}
|
|
|
|
void KivioHidePageCommand::execute()
|
|
{
|
|
m_page->setHidePage( true );
|
|
}
|
|
|
|
void KivioHidePageCommand::unexecute()
|
|
{
|
|
m_page->setHidePage( false );
|
|
}
|
|
|
|
KivioShowPageCommand::KivioShowPageCommand( const TQString &_name, KivioPage *_page)
|
|
: KivioHidePageCommand( _name, _page)
|
|
{
|
|
}
|
|
|
|
|
|
KivioAddPageCommand::KivioAddPageCommand(const TQString &_name, KivioPage *_page)
|
|
: KNamedCommand( _name ),
|
|
m_page( _page )
|
|
{
|
|
}
|
|
|
|
KivioAddPageCommand::~KivioAddPageCommand()
|
|
{
|
|
}
|
|
|
|
void KivioAddPageCommand::execute()
|
|
{
|
|
m_page->map()->insertPage( m_page );
|
|
m_page->doc()->insertPage( m_page );
|
|
}
|
|
|
|
void KivioAddPageCommand::unexecute()
|
|
{
|
|
m_page->map()->takePage( m_page );
|
|
m_page->doc()->takePage( m_page );
|
|
}
|
|
|
|
KivioRemovePageCommand::KivioRemovePageCommand(const TQString &_name, KivioPage *_page)
|
|
: KNamedCommand( _name ),
|
|
m_page( _page )
|
|
{
|
|
}
|
|
|
|
KivioRemovePageCommand::~KivioRemovePageCommand()
|
|
{
|
|
}
|
|
|
|
void KivioRemovePageCommand::execute()
|
|
{
|
|
m_page->map()->takePage( m_page );
|
|
m_page->doc()->takePage( m_page );
|
|
}
|
|
|
|
void KivioRemovePageCommand::unexecute()
|
|
{
|
|
m_page->map()->insertPage( m_page );
|
|
m_page->doc()->insertPage( m_page );
|
|
|
|
}
|
|
|
|
KivioAddStencilCommand::KivioAddStencilCommand(const TQString &_name, KivioPage *_page, KivioLayer * _layer, KivioStencil *_stencil )
|
|
: KNamedCommand( _name ),
|
|
m_page( _page ),
|
|
m_layer( _layer),
|
|
m_stencil( _stencil)
|
|
{
|
|
}
|
|
|
|
KivioAddStencilCommand::~KivioAddStencilCommand()
|
|
{
|
|
}
|
|
|
|
void KivioAddStencilCommand::execute()
|
|
{
|
|
m_layer->insertStencil( m_stencil );
|
|
m_page->doc()->updateView(m_page);
|
|
m_stencil->unselect();
|
|
m_stencil->searchForConnections(m_page, 4.0); //FIXME: The threshold should probably be zoomed....
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioAddStencilCommand::unexecute()
|
|
{
|
|
m_layer->takeStencilFromList( m_stencil );
|
|
m_page->doc()->updateView(m_page);
|
|
m_stencil->unselect();
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioRemoveStencilCommand::KivioRemoveStencilCommand(const TQString &_name, KivioPage *_page, KivioLayer * _layer, KivioStencil *_stencil )
|
|
: KivioAddStencilCommand(_name, _page, _layer, _stencil )
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilTextCommand::KivioChangeStencilTextCommand(const TQString& _name, KivioStencil* _stencil,
|
|
const TQString& _oldText, const TQString& _newText, KivioPage* _page, const TQString& textBoxName)
|
|
: KNamedCommand( _name ),
|
|
m_stencil(_stencil),
|
|
oldText(_oldText),
|
|
newText(_newText),
|
|
m_page(_page),
|
|
m_textBoxName(textBoxName)
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilTextCommand::~KivioChangeStencilTextCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilTextCommand::execute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setText(newText);
|
|
} else {
|
|
m_stencil->setText(newText, m_textBoxName);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioChangeStencilTextCommand::unexecute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setText(oldText);
|
|
} else {
|
|
m_stencil->setText(oldText, m_textBoxName);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
|
|
KivioAddLayerCommand::KivioAddLayerCommand( const TQString &_name, KivioPage *_page, KivioLayer * _layer, int _pos )
|
|
:KNamedCommand( _name ),
|
|
m_page( _page ),
|
|
m_layer( _layer),
|
|
layerPos(_pos)
|
|
{
|
|
}
|
|
|
|
KivioAddLayerCommand::~KivioAddLayerCommand()
|
|
{
|
|
}
|
|
|
|
void KivioAddLayerCommand::execute()
|
|
{
|
|
m_page->insertLayer( layerPos-1, m_layer );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->resetLayerPanel();
|
|
|
|
}
|
|
|
|
void KivioAddLayerCommand::unexecute()
|
|
{
|
|
m_page->takeLayer( m_layer );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->resetLayerPanel();
|
|
}
|
|
|
|
|
|
KivioRemoveLayerCommand::KivioRemoveLayerCommand( const TQString &_name, KivioPage *_page, KivioLayer * _layer, int _pos )
|
|
:KivioAddLayerCommand( _name, _page, _layer, _pos )
|
|
{
|
|
}
|
|
|
|
KivioRenameLayerCommand::KivioRenameLayerCommand( const TQString &_name, KivioLayer * _layer, const TQString & _oldName, const TQString & _newName)
|
|
:KNamedCommand( _name ),
|
|
m_layer( _layer ),
|
|
oldName( _oldName),
|
|
newName( _newName)
|
|
{
|
|
}
|
|
|
|
KivioRenameLayerCommand::~KivioRenameLayerCommand()
|
|
{
|
|
}
|
|
|
|
void KivioRenameLayerCommand::execute()
|
|
{
|
|
m_layer->setName(newName);
|
|
m_layer->page()->doc()->resetLayerPanel();
|
|
}
|
|
|
|
void KivioRenameLayerCommand::unexecute()
|
|
{
|
|
m_layer->setName(oldName);
|
|
m_layer->page()->doc()->resetLayerPanel();
|
|
}
|
|
|
|
KivioResizeStencilCommand::KivioResizeStencilCommand( const TQString &_name, KivioStencil *_stencil, KoRect _initSize, KoRect _endSize, KivioPage *_page)
|
|
:KNamedCommand( _name ),
|
|
m_stencil( _stencil),
|
|
initSize( _initSize),
|
|
endSize( _endSize ),
|
|
m_page( _page)
|
|
{
|
|
}
|
|
|
|
KivioResizeStencilCommand::~KivioResizeStencilCommand()
|
|
{
|
|
}
|
|
|
|
void KivioResizeStencilCommand::execute()
|
|
{
|
|
m_stencil->setDimensions( endSize.width(), endSize.height() );
|
|
m_stencil->setPosition( endSize.x(), endSize.y() );
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioResizeStencilCommand::unexecute()
|
|
{
|
|
m_stencil->setDimensions( initSize.width(), initSize.height() );
|
|
m_stencil->setPosition( initSize.x(), initSize.y() );
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
|
|
KivioMoveStencilCommand::KivioMoveStencilCommand( const TQString &_name, KivioStencil *_stencil, KoRect _initSize, KoRect _endSize, KivioPage *_page)
|
|
:KNamedCommand( _name ),
|
|
m_stencil( _stencil),
|
|
initSize( _initSize),
|
|
endSize( _endSize ),
|
|
m_page( _page)
|
|
{
|
|
}
|
|
|
|
KivioMoveStencilCommand::~KivioMoveStencilCommand()
|
|
{
|
|
}
|
|
|
|
void KivioMoveStencilCommand::execute()
|
|
{
|
|
m_stencil->setDimensions( endSize.width(), endSize.height() );
|
|
m_stencil->setPosition( endSize.x(), endSize.y() );
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioMoveStencilCommand::unexecute()
|
|
{
|
|
m_stencil->setDimensions( initSize.width(), initSize.height() );
|
|
m_stencil->setPosition( initSize.x(), initSize.y() );
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
KivioChangeLayoutCommand::KivioChangeLayoutCommand( const TQString &_name, KivioPage *_page, KoPageLayout _oldLayout, KoPageLayout _newLayout)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
oldLayout( _oldLayout),
|
|
newLayout( _newLayout)
|
|
{
|
|
}
|
|
|
|
KivioChangeLayoutCommand::~KivioChangeLayoutCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeLayoutCommand::execute()
|
|
{
|
|
m_page->setPaperLayout(newLayout);
|
|
}
|
|
|
|
void KivioChangeLayoutCommand::unexecute()
|
|
{
|
|
m_page->setPaperLayout(oldLayout);
|
|
}
|
|
|
|
KivioChangeStencilHAlignmentCommand::KivioChangeStencilHAlignmentCommand(const TQString& _name, KivioPage* _page,
|
|
KivioStencil* _stencil, int _oldAlign, int _newAlign, const TQString& textBoxName)
|
|
: KNamedCommand(_name),
|
|
m_page(_page),
|
|
m_stencil(_stencil),
|
|
oldAlign(_oldAlign),
|
|
newAlign(_newAlign),
|
|
m_textBoxName(textBoxName)
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilHAlignmentCommand::~KivioChangeStencilHAlignmentCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilHAlignmentCommand::execute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setHTextAlign(newAlign);
|
|
} else {
|
|
m_stencil->setHTextAlign(m_textBoxName, newAlign);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeStencilHAlignmentCommand::unexecute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setHTextAlign(newAlign);
|
|
} else {
|
|
m_stencil->setHTextAlign(m_textBoxName, newAlign);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioChangeStencilVAlignmentCommand::KivioChangeStencilVAlignmentCommand(const TQString& _name, KivioPage* _page,
|
|
KivioStencil* _stencil, int _oldAlign, int _newAlign, const TQString& textBoxName)
|
|
: KNamedCommand(_name),
|
|
m_page(_page),
|
|
m_stencil(_stencil),
|
|
oldAlign(_oldAlign),
|
|
newAlign(_newAlign),
|
|
m_textBoxName(textBoxName)
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilVAlignmentCommand::~KivioChangeStencilVAlignmentCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilVAlignmentCommand::execute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setVTextAlign(newAlign);
|
|
} else {
|
|
m_stencil->setVTextAlign(m_textBoxName, newAlign);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeStencilVAlignmentCommand::unexecute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setVTextAlign(oldAlign);
|
|
} else {
|
|
m_stencil->setVTextAlign(m_textBoxName, oldAlign);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
|
|
KivioChangeStencilFontCommand::KivioChangeStencilFontCommand(const TQString& _name, KivioPage* _page,
|
|
KivioStencil* _stencil, const TQFont& _oldFont, const TQFont& _newFont, const TQString& textBoxName)
|
|
: KNamedCommand(_name),
|
|
m_page(_page),
|
|
m_stencil( _stencil),
|
|
oldFont(_oldFont),
|
|
newFont(_newFont),
|
|
m_textBoxName(textBoxName)
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilFontCommand::~KivioChangeStencilFontCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilFontCommand::execute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setTextFont(newFont);
|
|
} else {
|
|
m_stencil->setTextFont(m_textBoxName, newFont);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeStencilFontCommand::unexecute()
|
|
{
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setTextFont(oldFont);
|
|
} else {
|
|
m_stencil->setTextFont(m_textBoxName, oldFont);
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioChangeStencilColorCommand::KivioChangeStencilColorCommand(const TQString& _name, KivioPage* _page,
|
|
KivioStencil* _stencil, const TQColor& _oldColor, const TQColor& _newColor, ColorType _type, const TQString& textBoxName)
|
|
: KNamedCommand(_name),
|
|
m_page(_page),
|
|
m_stencil(_stencil),
|
|
oldColor(_oldColor),
|
|
newColor(_newColor),
|
|
type(_type),
|
|
m_textBoxName(textBoxName)
|
|
{
|
|
}
|
|
|
|
KivioChangeStencilColorCommand::~KivioChangeStencilColorCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilColorCommand::execute()
|
|
{
|
|
switch( type ) {
|
|
case CT_TEXTCOLOR:
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setTextColor(newColor);
|
|
} else {
|
|
m_stencil->setTextColor(m_textBoxName, newColor);
|
|
}
|
|
break;
|
|
case CT_BGCOLOR:
|
|
m_stencil->setBGColor(newColor);
|
|
break;
|
|
case CT_FGCOLOR:
|
|
m_stencil->setFGColor(newColor);
|
|
break;
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeStencilColorCommand::unexecute()
|
|
{
|
|
switch( type ) {
|
|
case CT_TEXTCOLOR:
|
|
if(m_textBoxName.isEmpty()) {
|
|
m_stencil->setTextColor(oldColor);
|
|
} else {
|
|
m_stencil->setTextColor(m_textBoxName, oldColor);
|
|
}
|
|
break;
|
|
case CT_BGCOLOR:
|
|
m_stencil->setBGColor(oldColor);
|
|
break;
|
|
case CT_FGCOLOR:
|
|
m_stencil->setFGColor(oldColor);
|
|
break;
|
|
}
|
|
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
|
|
KivioChangeLineWidthCommand::KivioChangeLineWidthCommand( const TQString &_name,
|
|
KivioPage *_page, KivioStencil * _stencil, double _oldValue, double _newValue)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
oldValue( _oldValue),
|
|
newValue( _newValue)
|
|
{
|
|
}
|
|
|
|
KivioChangeLineWidthCommand::~KivioChangeLineWidthCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeLineWidthCommand::execute()
|
|
{
|
|
m_stencil->setLineWidth( newValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeLineWidthCommand::unexecute()
|
|
{
|
|
m_stencil->setLineWidth( oldValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioChangeRotationCommand::KivioChangeRotationCommand( const TQString &_name,
|
|
KivioPage *_page, KivioStencil * _stencil, int _oldValue, int _newValue)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
oldValue( _oldValue),
|
|
newValue( _newValue)
|
|
{
|
|
}
|
|
|
|
KivioChangeRotationCommand::~KivioChangeRotationCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeRotationCommand::execute()
|
|
{
|
|
m_stencil->setRotation( newValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeRotationCommand::unexecute()
|
|
{
|
|
m_stencil->setRotation( oldValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
|
|
KivioChangeLineStyleCommand::KivioChangeLineStyleCommand( const TQString &_name,
|
|
KivioPage *_page, KivioStencil * _stencil, int _oldValue, int _newValue)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
oldValue( _oldValue),
|
|
newValue( _newValue)
|
|
{
|
|
}
|
|
|
|
KivioChangeLineStyleCommand::~KivioChangeLineStyleCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeLineStyleCommand::execute()
|
|
{
|
|
m_stencil->setLinePattern( newValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeLineStyleCommand::unexecute()
|
|
{
|
|
m_stencil->setLinePattern( oldValue );
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioChangeBeginEndArrowCommand::KivioChangeBeginEndArrowCommand( const TQString &_name, KivioPage *_page, KivioStencil * _stencil, int _oldArrow, int _newArrow, bool _beginArrow)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
oldArrow( _oldArrow),
|
|
newArrow( _newArrow),
|
|
beginArrow(_beginArrow)
|
|
{
|
|
}
|
|
|
|
KivioChangeBeginEndArrowCommand::~KivioChangeBeginEndArrowCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeBeginEndArrowCommand::execute()
|
|
{
|
|
if (beginArrow)
|
|
m_stencil->setStartAHType(newArrow);
|
|
else
|
|
m_stencil->setEndAHType(newArrow);
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeBeginEndArrowCommand::unexecute()
|
|
{
|
|
if (beginArrow)
|
|
m_stencil->setStartAHType(oldArrow);
|
|
else
|
|
m_stencil->setEndAHType(oldArrow);
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
|
|
KivioChangeBeginEndSizeArrowCommand::KivioChangeBeginEndSizeArrowCommand( const TQString &_name, KivioPage *_page, KivioStencil * _stencil, float _oldH,float _oldW, float _newH,float _newW, bool _beginArrow)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
oldWidth( _oldW),
|
|
oldLength( _oldH),
|
|
newWidth( _newW),
|
|
newLength( _newH),
|
|
beginArrow(_beginArrow)
|
|
{
|
|
}
|
|
|
|
KivioChangeBeginEndSizeArrowCommand::~KivioChangeBeginEndSizeArrowCommand()
|
|
{
|
|
}
|
|
|
|
void KivioChangeBeginEndSizeArrowCommand::execute()
|
|
{
|
|
if (beginArrow)
|
|
{
|
|
m_stencil->setStartAHWidth(newWidth);
|
|
m_stencil->setStartAHLength(newLength);
|
|
}
|
|
else
|
|
{
|
|
m_stencil->setEndAHWidth(newWidth);
|
|
m_stencil->setEndAHLength(newLength);
|
|
}
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
void KivioChangeBeginEndSizeArrowCommand::unexecute()
|
|
{
|
|
if (beginArrow)
|
|
{
|
|
m_stencil->setStartAHWidth(oldWidth);
|
|
m_stencil->setStartAHLength(oldLength);
|
|
}
|
|
else
|
|
{
|
|
m_stencil->setEndAHWidth(oldWidth);
|
|
m_stencil->setEndAHLength(oldLength);
|
|
}
|
|
m_page->doc()->updateView(m_page);
|
|
m_page->doc()->slotSelectionChanged();
|
|
}
|
|
|
|
KivioChangeStencilProtectCommand::KivioChangeStencilProtectCommand( const TQString &_name, KivioPage *_page, KivioStencil * _stencil, bool _state, KVP_TYPE _type)
|
|
:KNamedCommand( _name),
|
|
m_page(_page),
|
|
m_stencil( _stencil ),
|
|
type( _type),
|
|
m_bValue( _state)
|
|
{
|
|
}
|
|
|
|
void KivioChangeStencilProtectCommand::execute()
|
|
{
|
|
changeValue( m_bValue );
|
|
}
|
|
|
|
void KivioChangeStencilProtectCommand::unexecute()
|
|
{
|
|
changeValue( !m_bValue );
|
|
}
|
|
|
|
void KivioChangeStencilProtectCommand::changeValue( bool b )
|
|
{
|
|
switch( type )
|
|
{
|
|
case KV_POSX:
|
|
m_stencil->protection()->setBit( kpX, b );
|
|
break;
|
|
case KV_POSY:
|
|
m_stencil->protection()->setBit( kpY, b );
|
|
break;
|
|
case KV_WIDTH:
|
|
m_stencil->protection()->setBit( kpWidth, b );
|
|
break;
|
|
case KV_HEIGHT:
|
|
m_stencil->protection()->setBit( kpHeight, b );
|
|
break;
|
|
case KV_ASPECT:
|
|
m_stencil->protection()->setBit( kpAspect, b );
|
|
break;
|
|
case KV_DELETE:
|
|
m_stencil->protection()->setBit( kpDeletion, b);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
m_page->doc()->updateProtectPanelCheckBox();
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
KivioAddConnectorTargetCommand::KivioAddConnectorTargetCommand(const TQString& name, KivioPage* page,
|
|
KivioStencil* stencil, const KoPoint& targetPoint) : KNamedCommand(name)
|
|
{
|
|
m_page = page;
|
|
m_stencil = stencil;
|
|
m_targetPoint = targetPoint;
|
|
}
|
|
void KivioAddConnectorTargetCommand::execute()
|
|
{
|
|
m_stencil->addConnectorTarget(m_targetPoint);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioAddConnectorTargetCommand::unexecute()
|
|
{
|
|
m_stencil->removeConnectorTarget(m_targetPoint);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
|
|
KivioCustomDragCommand::KivioCustomDragCommand(const TQString& name, KivioPage* page, KivioStencil* stencil,
|
|
int customID, const KoPoint& originalPoint, const KoPoint& newPoint)
|
|
: KNamedCommand(name)
|
|
{
|
|
m_page = page;
|
|
m_stencil = stencil;
|
|
m_customID = customID;
|
|
m_originalPoint = originalPoint;
|
|
m_newPoint = newPoint;
|
|
}
|
|
|
|
void KivioCustomDragCommand::execute()
|
|
{
|
|
m_stencil->setCustomIDPoint(m_customID, m_newPoint, m_page);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioCustomDragCommand::unexecute()
|
|
{
|
|
m_stencil->setCustomIDPoint(m_customID, m_originalPoint, m_page);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
|
|
KivioGroupCommand::KivioGroupCommand(const TQString& name, KivioPage* page, KivioLayer* layer,
|
|
KivioGroupStencil* group)
|
|
: KNamedCommand(name)
|
|
{
|
|
m_page = page;
|
|
m_layer = layer;
|
|
m_groupStencil = group;
|
|
}
|
|
|
|
void KivioGroupCommand::execute()
|
|
{
|
|
TQPtrList<KivioStencil>* list = m_groupStencil->groupList();
|
|
TQPtrListIterator<KivioStencil> it(*list);
|
|
KivioStencil* stencil = 0;
|
|
|
|
for(; (stencil = it.current()) != 0; ++it) {
|
|
m_layer->takeStencil(stencil);
|
|
}
|
|
|
|
m_groupStencil->unselect();
|
|
m_layer->addStencil(m_groupStencil);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|
|
|
|
void KivioGroupCommand::unexecute()
|
|
{
|
|
TQPtrList<KivioStencil>* list = m_groupStencil->groupList();
|
|
TQPtrListIterator<KivioStencil> it(*list);
|
|
KivioStencil* stencil = 0;
|
|
|
|
for(; (stencil = it.current()) != 0; ++it) {
|
|
stencil->unselect();
|
|
m_layer->addStencil(stencil);
|
|
}
|
|
|
|
m_layer->takeStencil(m_groupStencil);
|
|
m_page->doc()->updateView(m_page);
|
|
}
|