renamed some methods. minor refactoring

This commit is contained in:
hneemann 2019-05-25 14:34:16 +02:00
parent 91ff6820a2
commit 195f5e1136
2 changed files with 49 additions and 45 deletions

View File

@ -726,7 +726,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
JOptionPane.showMessageDialog(Main.this, Lang.get("msg_restartNeeded")); JOptionPane.showMessageDialog(Main.this, Lang.get("msg_restartNeeded"));
} }
if (!Settings.getInstance().getAttributes().equalsKey(Keys.SETTINGS_GRID, modified)) if (!Settings.getInstance().getAttributes().equalsKey(Keys.SETTINGS_GRID, modified))
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
Settings.getInstance().getAttributes().getValuesFrom(modified); Settings.getInstance().getAttributes().getValuesFrom(modified);
} }
@ -958,7 +958,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
model.doMicroStep(false); model.doMicroStep(false);
circuitComponent.removeHighLighted(); circuitComponent.removeHighLighted();
modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted()); modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted());
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
doStep.setEnabled(model.needsUpdate()); doStep.setEnabled(model.needsUpdate());
} catch (Exception e1) { } catch (Exception e1) {
showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e1); showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e1);
@ -975,7 +975,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
try { try {
Model.BreakInfo info = model.runToBreak(); Model.BreakInfo info = model.runToBreak();
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
statusLabel.setText(Lang.get("stat_clocks", info.getSteps(), info.getLabel())); statusLabel.setText(Lang.get("stat_clocks", info.getSteps(), info.getLabel()));
} catch (NodeException | RuntimeException e1) { } catch (NodeException | RuntimeException e1) {
showErrorAndStopModel(Lang.get("msg_fastRunError"), e1); showErrorAndStopModel(Lang.get("msg_fastRunError"), e1);
@ -1364,7 +1364,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted()); modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted());
model.fireManualChangeEvent(); model.fireManualChangeEvent();
doStep.setEnabled(model.needsUpdate()); doStep.setEnabled(model.needsUpdate());
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
}; };
else else
handler = keyboard -> { handler = keyboard -> {
@ -1374,7 +1374,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
model.fireManualChangeEvent(); model.fireManualChangeEvent();
model.doStep(); model.doStep();
}); });
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
} catch (NodeException | RuntimeException e) { } catch (NodeException | RuntimeException e) {
showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e); showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e);
} }
@ -1435,7 +1435,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
circuitComponent.addHighLightedWires(e.getValues()); circuitComponent.addHighLightedWires(e.getValues());
} }
circuitComponent.setHighLightStyle(Style.ERROR); circuitComponent.setHighLightStyle(Style.ERROR);
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
new ErrorMessage(message).addCause(cause).show(Main.this); new ErrorMessage(message).addCause(cause).show(Main.this);
ensureModelIsStopped(); ensureModelIsStopped();
} }
@ -1576,7 +1576,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
model.fireManualChangeEvent(); model.fireManualChangeEvent();
model.doStep(); model.doStep();
}); });
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
} catch (NodeException | RuntimeException e) { } catch (NodeException | RuntimeException e) {
showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e); showErrorAndStopModel(Lang.get("msg_errorCalculatingStep"), e);
} }
@ -1595,7 +1595,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
if (!realTimeClockRunning) if (!realTimeClockRunning)
modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted()); modelCreator.addNodeElementsTo(model.nodesToUpdate(), circuitComponent.getHighLighted());
model.fireManualChangeEvent(); model.fireManualChangeEvent();
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
if (!realTimeClockRunning) if (!realTimeClockRunning)
doStep.setEnabled(model.needsUpdate()); doStep.setEnabled(model.needsUpdate());
} }
@ -1662,7 +1662,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
GifExporter gifExporter = new GifExporter(Main.this, circuitComponent.getCircuit(), 500, file); GifExporter gifExporter = new GifExporter(Main.this, circuitComponent.getCircuit(), 500, file);
windowPosManager.closeAll(); windowPosManager.closeAll();
runModelState.enter(false, gifExporter); runModelState.enter(false, gifExporter);
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
} }
); );
} }
@ -1712,7 +1712,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
public void start(File romHex) { public void start(File romHex) {
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
runModelState.enter(true, new ProgramMemoryLoader(romHex)); runModelState.enter(true, new ProgramMemoryLoader(romHex));
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
}); });
} }
@ -1720,7 +1720,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
public void debug(File romHex) { public void debug(File romHex) {
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
runModelState.enter(false, new ProgramMemoryLoader(romHex)); runModelState.enter(false, new ProgramMemoryLoader(romHex));
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
if (model != null) if (model != null)
showMeasurementDialog(ModelEvent.STEP); showMeasurementDialog(ModelEvent.STEP);
}); });
@ -1742,7 +1742,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
clkVal.setBool(!clkVal.getBool()); clkVal.setBool(!clkVal.getBool());
model.doStep(); model.doStep();
} }
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
addressPicker.getProgramROMAddress(model); addressPicker.getProgramROMAddress(model);
} catch (NodeException | RuntimeException e) { } catch (NodeException | RuntimeException e) {
showErrorAndStopModel(Lang.get("err_remoteExecution"), e); showErrorAndStopModel(Lang.get("err_remoteExecution"), e);
@ -1777,7 +1777,7 @@ public final class Main extends JFrame implements ClosingWindowListener.ConfirmS
public void stop() { public void stop() {
SwingUtilities.invokeLater(() -> { SwingUtilities.invokeLater(() -> {
ensureModelIsStopped(); ensureModelIsStopped();
circuitComponent.repaintNeeded(); circuitComponent.graphicHasChanged();
}); });
} }
//********************** //**********************

View File

@ -127,7 +127,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
private Vector lastMousePos; private Vector lastMousePos;
private SyncAccess modelSync = SyncAccess.NOSYNC; private SyncAccess modelSync = SyncAccess.NOSYNC;
private boolean isManualScale; private boolean isManualScale;
private boolean graphicsHasChanged = true; private boolean graphicHasChangedFlag = true;
private boolean focusWasLost = false; private boolean focusWasLost = false;
private boolean lockMessageShown = false; private boolean lockMessageShown = false;
private boolean antiAlias = true; private boolean antiAlias = true;
@ -225,7 +225,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
transform.scale(f, f); transform.scale(f, f);
transform.translate(-pos.x, -pos.y); transform.translate(-pos.x, -pos.y);
isManualScale = true; isManualScale = true;
repaintNeeded(); graphicHasChanged();
}); });
addComponentListener(new ComponentAdapter() { addComponentListener(new ComponentAdapter() {
@ -437,8 +437,8 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
/** /**
* invalidates the image buffer and calls repaint(); * invalidates the image buffer and calls repaint();
*/ */
public void repaintNeeded() { public void graphicHasChanged() {
graphicsHasChanged = true; graphicHasChangedFlag = true;
repaint(); repaint();
} }
@ -628,8 +628,10 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
* @param <T> type of drawable * @param <T> type of drawable
*/ */
public <T extends Drawable> void addHighLighted(T drawable) { public <T extends Drawable> void addHighLighted(T drawable) {
if (drawable != null) if (drawable != null) {
highLighted.add(drawable); highLighted.add(drawable);
graphicHasChanged();
}
} }
/** /**
@ -638,8 +640,10 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
* @param drawables the list of drawables * @param drawables the list of drawables
*/ */
public void addHighLighted(Collection<? extends Drawable> drawables) { public void addHighLighted(Collection<? extends Drawable> drawables) {
if (drawables != null) if (drawables != null) {
highLighted.addAll(drawables); highLighted.addAll(drawables);
graphicHasChanged();
}
} }
/** /**
@ -660,8 +664,12 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
* remove all highlighted elements * remove all highlighted elements
*/ */
public void removeHighLighted() { public void removeHighLighted() {
highLighted.clear(); if (!highLighted.isEmpty()) {
highLightStyle = Style.HIGHLIGHT; highLighted.clear();
highLightStyle = Style.HIGHLIGHT;
graphicHasChanged();
}
} }
/** /**
@ -705,7 +713,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
} }
mouseInsertElement.updateMousePos(getPosVector(point.x, point.y)); mouseInsertElement.updateMousePos(getPosVector(point.x, point.y));
repaintNeeded(); graphicHasChanged();
requestFocus(); requestFocus();
} }
@ -726,30 +734,27 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
} }
elements = new CopiedElementLabelRenamer(getCircuit(), elements).rename(); elements = new CopiedElementLabelRenamer(getCircuit(), elements).rename();
mouseInsertList.activate(elements, pos); mouseInsertList.activate(elements, pos);
repaintNeeded(); graphicHasChanged();
} }
private BufferedImage buffer; private BufferedImage buffer;
private int highlightedPaintedSize;
@Override @Override
protected void paintComponent(Graphics g) { protected void paintComponent(Graphics g) {
super.paintComponent(g); super.paintComponent(g);
boolean needsNewBuffer = buffer == null boolean newBufferRequired = buffer == null
|| getWidth() != buffer.getWidth() || getWidth() != buffer.getWidth()
|| getHeight() != buffer.getHeight(); || getHeight() != buffer.getHeight();
if (needsNewBuffer && !isManualScale) if (newBufferRequired && !isManualScale)
fitCircuit(); fitCircuit();
final double scaleX = transform.getScaleX(); final double scaleX = transform.getScaleX();
if (graphicsHasChanged if (graphicHasChangedFlag || newBufferRequired) {
|| needsNewBuffer
|| highLighted.size() != highlightedPaintedSize) {
if (needsNewBuffer) if (newBufferRequired)
buffer = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().createCompatibleImage(getWidth(), getHeight()); buffer = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration().createCompatibleImage(getWidth(), getHeight());
Graphics2D gr2 = buffer.createGraphics(); Graphics2D gr2 = buffer.createGraphics();
@ -774,10 +779,9 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
if (time > 500) antiAlias = false; if (time > 500) antiAlias = false;
if (time < 50) antiAlias = true; if (time < 50) antiAlias = true;
// System.out.println("repaint: " + Long.toString(time) + "ms"); // System.out.println("repaint: " + time + "ms");
highlightedPaintedSize = highLighted.size(); graphicHasChangedFlag = false;
graphicsHasChanged = false;
} }
g.drawImage(buffer, 0, 0, null); g.drawImage(buffer, 0, 0, null);
@ -845,7 +849,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
@Override @Override
public void hasChanged() { public void hasChanged() {
repaintNeeded(); graphicHasChanged();
redoAction.setEnabled(undoManager.redoAvailable()); redoAction.setEnabled(undoManager.redoAvailable());
undoAction.setEnabled(undoManager.undoAvailable()); undoAction.setEnabled(undoManager.undoAvailable());
} }
@ -856,7 +860,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
* Therefore the double buffer is invalidated. * Therefore the double buffer is invalidated.
*/ */
public void paintImmediately() { public void paintImmediately() {
graphicsHasChanged = true; graphicHasChangedFlag = true;
paintImmediately(0, 0, getWidth(), getHeight()); paintImmediately(0, 0, getWidth(), getHeight());
} }
@ -935,7 +939,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
} }
if (!newTrans.equals(transform)) { if (!newTrans.equals(transform)) {
transform = newTrans; transform = newTrans;
repaintNeeded(); graphicHasChanged();
} }
} }
@ -950,7 +954,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
transform.scale(f, f); transform.scale(f, f);
transform.translate(-dif.x, -dif.y); transform.translate(-dif.x, -dif.y);
isManualScale = true; isManualScale = true;
repaintNeeded(); graphicHasChanged();
} }
/** /**
@ -962,7 +966,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
public void translateCircuit(int dx, int dy) { public void translateCircuit(int dx, int dy) {
transform.translate(dx, dy); transform.translate(dx, dy);
isManualScale = true; isManualScale = true;
repaintNeeded(); graphicHasChanged();
} }
private void editAttributes(VisualElement element, MouseEvent e) { private void editAttributes(VisualElement element, MouseEvent e) {
@ -1012,7 +1016,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
@Override @Override
public void libraryChanged(LibraryNode node) { public void libraryChanged(LibraryNode node) {
getCircuit().clearState(); getCircuit().clearState();
graphicsHasChanged = true; graphicHasChangedFlag = true;
repaint(); repaint();
} }
@ -1258,7 +1262,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
transform.translate(delta.x / s, delta.y / s); transform.translate(delta.x / s, delta.y / s);
pos = newPos; pos = newPos;
isManualScale = true; isManualScale = true;
repaintNeeded(); graphicHasChanged();
} }
} }
} }
@ -1284,7 +1288,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
cutAction.setEnabled(false); cutAction.setEnabled(false);
rotateAction.setEnabled(false); rotateAction.setEnabled(false);
setCursor(mouseCursor); setCursor(mouseCursor);
repaintNeeded(); graphicHasChanged();
} }
void deactivate() { void deactivate() {
@ -1507,7 +1511,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
deleteAction.setEnabled(true); deleteAction.setEnabled(true);
rotateAction.setEnabled(true); rotateAction.setEnabled(true);
copyAction.setEnabled(true); copyAction.setEnabled(true);
repaintNeeded(); graphicHasChanged();
} }
@Override @Override
@ -1579,7 +1583,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
this.pos = raster(pos); this.pos = raster(pos);
deleteAction.setEnabled(true); deleteAction.setEnabled(true);
removeHighLighted(); removeHighLighted();
repaintNeeded(); graphicHasChanged();
} }
@Override @Override
@ -2122,7 +2126,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
@Override @Override
public void rotate() { public void rotate() {
ModifyMoveSelected.rotateElements(elements, raster(lastPos)); ModifyMoveSelected.rotateElements(elements, raster(lastPos));
repaintNeeded(); graphicHasChanged();
} }
@Override @Override
@ -2194,7 +2198,7 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib
if (modelHasChanged) { if (modelHasChanged) {
modelHasChanged(); modelHasChanged();
} else } else
repaintNeeded(); graphicHasChanged();
} }
} }