net.sf.latexdraw.actions
Class RotateShapes

java.lang.Object
  extended by org.malai.action.Action
      extended by net.sf.latexdraw.actions.DrawingAction
          extended by net.sf.latexdraw.actions.ShapeAction<IShape>
              extended by net.sf.latexdraw.actions.RotateShapes
All Implemented Interfaces:
Modifying, Undoable

public class RotateShapes
extends ShapeAction<IShape>
implements Undoable, Modifying

This action increments to rotation angle of shapes.

This file is part of LaTeXDraw.
Copyright (c) 2005-2012 Arnaud BLOUIN

LaTeXDraw is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
LaTeXDraw is distributed without any warranty; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

01/03/2010

Since:
3.0
Author:
Arnaud BLOUIN

Nested Class Summary
 
Nested classes/interfaces inherited from class org.malai.action.Action
Action.ActionStatus
 
Field Summary
protected  IPoint gc
          The gravity centre used for the rotation.
private  double lastRotationAngle
          The last increment performed on shapes.
protected  double rotationAngle
          The rotation angle to apply.
 
Fields inherited from class net.sf.latexdraw.actions.ShapeAction
shape
 
Fields inherited from class net.sf.latexdraw.actions.DrawingAction
drawing
 
Fields inherited from class org.malai.action.Action
status
 
Constructor Summary
RotateShapes()
          Creates the action.
 
Method Summary
 boolean canDo()
           
protected  void doActionBody()
          This method contains the core code to execute when the action is executed.
 java.lang.String getUndoName()
           
 boolean isRegisterable()
          Specifies if the action must be saved in the action register.
 void redo()
          Redoes the cancelled action.
private  void rotateShapes(double angleIncrement)
          Rotates the shape.
 void setGc(IPoint gc)
           
 void setRotationAngle(double rotationAngle)
           
 void undo()
          Cancels the action.
 
Methods inherited from class net.sf.latexdraw.actions.ShapeAction
flush, getShape, setShape
 
Methods inherited from class net.sf.latexdraw.actions.DrawingAction
getDrawing, setDrawing
 
Methods inherited from class org.malai.action.Action
abort, cancelledBy, doIt, done, getStatus, hadEffect, isDone, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

rotationAngle

protected double rotationAngle
The rotation angle to apply.


gc

protected IPoint gc
The gravity centre used for the rotation.


lastRotationAngle

private double lastRotationAngle
The last increment performed on shapes. Used to execute several times the action.

Constructor Detail

RotateShapes

public RotateShapes()
Creates the action.

Method Detail

canDo

public boolean canDo()
Overrides:
canDo in class ShapeAction<IShape>
Returns:
True if the action can be executed.

isRegisterable

public boolean isRegisterable()
Description copied from class: Action
Specifies if the action must be saved in the action register. For instance, some actions, such as a scroll of the scroll bars, should not be saved nor put in the undo/redo manager. Thus, they must not be registrable.

Specified by:
isRegisterable in class Action
Returns:
True: the action is registrable.

doActionBody

protected void doActionBody()
Description copied from class: Action
This method contains the core code to execute when the action is executed.

Specified by:
doActionBody in class Action

rotateShapes

private void rotateShapes(double angleIncrement)
Rotates the shape.

Parameters:
angleIncrement - The increment to add to the rotation angle of the shape.

undo

public void undo()
Description copied from interface: Undoable
Cancels the action.

Specified by:
undo in interface Undoable

redo

public void redo()
Description copied from interface: Undoable
Redoes the cancelled action.

Specified by:
redo in interface Undoable

getUndoName

public java.lang.String getUndoName()
Specified by:
getUndoName in interface Undoable
Returns:
The name of the undo action.

setRotationAngle

public void setRotationAngle(double rotationAngle)
Parameters:
rotationAngle - The rotation angle to apply.
Since:
3.0

setGc

public final void setGc(IPoint gc)
Parameters:
gc - The gravity centre used for the rotation.
Since:
3.0