mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-19 09:54:49 -04:00
fixed a repaint bug
This commit is contained in:
parent
cbf66868b3
commit
37ddaf01f6
@ -20,7 +20,7 @@ public class State extends Movable {
|
|||||||
private static final float REACH = 2000;
|
private static final float REACH = 2000;
|
||||||
|
|
||||||
private int number = -1;
|
private int number = -1;
|
||||||
private String name = "";
|
private String name;
|
||||||
private int radius;
|
private int radius;
|
||||||
private String values = "";
|
private String values = "";
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ public class TransitionTableCreator {
|
|||||||
*
|
*
|
||||||
* @param fsm the fsm
|
* @param fsm the fsm
|
||||||
*/
|
*/
|
||||||
public TransitionTableCreator(FSM fsm) {
|
TransitionTableCreator(FSM fsm) {
|
||||||
this.states = fsm.getStates();
|
this.states = fsm.getStates();
|
||||||
this.transitions = fsm.getTransitions();
|
this.transitions = fsm.getTransitions();
|
||||||
}
|
}
|
||||||
|
@ -49,7 +49,7 @@ public class FSMComponent extends JComponent {
|
|||||||
/**
|
/**
|
||||||
* Creates a new component
|
* Creates a new component
|
||||||
*/
|
*/
|
||||||
public FSMComponent() {
|
FSMComponent() {
|
||||||
addMouseWheelListener(e -> {
|
addMouseWheelListener(e -> {
|
||||||
Vector pos = getPosVector(e);
|
Vector pos = getPosVector(e);
|
||||||
double f = Math.pow(0.9, e.getWheelRotation());
|
double f = Math.pow(0.9, e.getWheelRotation());
|
||||||
@ -70,7 +70,7 @@ public class FSMComponent extends JComponent {
|
|||||||
public void mousePressed(MouseEvent e) {
|
public void mousePressed(MouseEvent e) {
|
||||||
pos = new Vector(e.getX(), e.getY());
|
pos = new Vector(e.getX(), e.getY());
|
||||||
final Vector posVector = getPosVector(e);
|
final Vector posVector = getPosVector(e);
|
||||||
screenDrag=false;
|
screenDrag = false;
|
||||||
if (mouse.isPrimaryClick(e)) {
|
if (mouse.isPrimaryClick(e)) {
|
||||||
elementMoved = fsm.getMovable(posVector);
|
elementMoved = fsm.getMovable(posVector);
|
||||||
if (elementMoved != null)
|
if (elementMoved != null)
|
||||||
@ -82,7 +82,7 @@ public class FSMComponent extends JComponent {
|
|||||||
newTransitionFromState = (State) st;
|
newTransitionFromState = (State) st;
|
||||||
repaint();
|
repaint();
|
||||||
}
|
}
|
||||||
screenDrag=true;
|
screenDrag = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -151,10 +151,13 @@ public class FSMComponent extends JComponent {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent actionEvent) {
|
public void actionPerformed(ActionEvent actionEvent) {
|
||||||
Movable element = fsm.getMovable(lastMousePos);
|
Movable element = fsm.getMovable(lastMousePos);
|
||||||
if (element instanceof State)
|
if (element instanceof State) {
|
||||||
fsm.remove((State) element);
|
fsm.remove((State) element);
|
||||||
else if (element instanceof Transition)
|
repaint();
|
||||||
|
} else if (element instanceof Transition) {
|
||||||
fsm.remove((Transition) element);
|
fsm.remove((Transition) element);
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}.setToolTip(Lang.get("menu_delete_tt"));
|
}.setToolTip(Lang.get("menu_delete_tt"));
|
||||||
|
|
||||||
@ -240,7 +243,7 @@ public class FSMComponent extends JComponent {
|
|||||||
/**
|
/**
|
||||||
* Fits the FSM to the window
|
* Fits the FSM to the window
|
||||||
*/
|
*/
|
||||||
public void fitFSM() {
|
void fitFSM() {
|
||||||
if (fsm != null) {
|
if (fsm != null) {
|
||||||
GraphicMinMax gr = new GraphicMinMax();
|
GraphicMinMax gr = new GraphicMinMax();
|
||||||
fsm.drawTo(gr);
|
fsm.drawTo(gr);
|
||||||
@ -276,7 +279,7 @@ public class FSMComponent extends JComponent {
|
|||||||
*
|
*
|
||||||
* @param f factor to scale
|
* @param f factor to scale
|
||||||
*/
|
*/
|
||||||
public void scaleCircuit(double f) {
|
void scaleCircuit(double f) {
|
||||||
Vector dif = getPosVector(getWidth() / 2, getHeight() / 2);
|
Vector dif = getPosVector(getWidth() / 2, getHeight() / 2);
|
||||||
transform.translate(dif.x, dif.y);
|
transform.translate(dif.x, dif.y);
|
||||||
transform.scale(f, f);
|
transform.scale(f, f);
|
||||||
@ -288,7 +291,7 @@ public class FSMComponent extends JComponent {
|
|||||||
/**
|
/**
|
||||||
* @return the element picked by the mouse
|
* @return the element picked by the mouse
|
||||||
*/
|
*/
|
||||||
public Movable getElementMoved() {
|
Movable getElementMoved() {
|
||||||
return elementMoved;
|
return elementMoved;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,21 +50,6 @@ public class FSMFrame extends JFrame implements ClosingWindowListener.ConfirmSav
|
|||||||
private File filename;
|
private File filename;
|
||||||
private boolean lastModified;
|
private boolean lastModified;
|
||||||
|
|
||||||
/**
|
|
||||||
* Use only for tests!
|
|
||||||
*
|
|
||||||
* @param givenFsm the fsm to visualize
|
|
||||||
*/
|
|
||||||
public FSMFrame(FSM givenFsm) {
|
|
||||||
this(null, givenFsm, createLibrary());
|
|
||||||
}
|
|
||||||
|
|
||||||
private static ElementLibrary createLibrary() {
|
|
||||||
ElementLibrary library = new ElementLibrary();
|
|
||||||
new ShapeFactory(library);
|
|
||||||
return library;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a new instance
|
* Creates a new instance
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user