/** Nasatavení počtu kroků pro vykreslení. 0=automatické určení. */ public final synchronized void setSteps(int steps) { if (steps < 0 || steps > MAX_STEPS) { steps = 0; } if (steps == 0) { guiSteps.setEnabled(false); guiChangingValue = true; // zabráním opětovnému vyvolání akce změny při změně gui guiStepsAuto.setSelected(true); // zabráním aby byla hodnota "0" v gui prvku pro počet kroů if (((Integer) guiSteps.getValue()).intValue() == 0) { guiSteps.setValue(100); } guiChangingValue = false; } else { guiSteps.setEnabled(true); guiChangingValue = true; // zabráním opětovnému vyvolání akce změny při změně gui guiStepsAuto.setSelected(false); guiSteps.setValue(steps); guiChangingValue = false; } this.steps = steps; for (ObjectListener l : listeners) { l.eventSpecificPropertiesChanged(this); } }
/** Povolení HW akcelerace. */ public final synchronized void setUseHWAcceleration(boolean useHWAcceleration) { guiUseHWAcceleration.setSelected(useHWAcceleration); // při HW akceleraci nelze ručně volit počet kroků vykreslení if (useHWAcceleration) { setSteps(0); guiStepsAuto.setEnabled(false); } else { guiStepsAuto.setEnabled(true); } this.useHWAcceleration = useHWAcceleration; for (ObjectListener l : listeners) { l.eventSpecificPropertiesChanged(this); } }
@Override public synchronized void setDegree(int degree) { if (degree < 1) { degree = 1; } if (degree > MAX_DEGREE) { degree = MAX_DEGREE; } this.degree = degree; guiDegree.setValue(degree); setState(ObjectState.notCounted); // křivka se změnila for (DegreeListener l : degreeListeners) { l.degreeChanged(this); } for (ObjectListener l : listeners) { l.eventSpecificPropertiesChanged(this); } }