private AbstractSymbolImage createSymbolImage(boolean runMode) {
   ControlSymbolImage csi = new ControlSymbolImage(runMode);
   if (symbolProperties != null) {
     symbolProperties.fillSymbolImage(csi);
   }
   return csi;
 }
 public void setPermutationMatrix(PermutationMatrix permutationMatrix) {
   if (symbolProperties != null) {
     symbolProperties.setMatrix(permutationMatrix);
   }
   getOnImage().setPermutationMatrix(permutationMatrix);
   getOffImage().setPermutationMatrix(permutationMatrix);
   repaint();
 }
 public synchronized void setDegree(Integer degree) {
   if (symbolProperties != null) {
     symbolProperties.setDegree(degree);
   }
   getOnImage().setDegree(degree);
   getOffImage().setDegree(degree);
   repaint();
 }
 public synchronized void setFlipH(boolean flipH) {
   if (symbolProperties != null) {
     symbolProperties.setFlipH(flipH);
   }
   getOnImage().setFlipH(flipH);
   getOffImage().setFlipH(flipH);
   repaint();
 }
 /**
  * Set the stretch state for the image.
  *
  * @param newval The new state (true, if it should be stretched, false otherwise)
  */
 public synchronized void setStretch(final boolean newval) {
   if (symbolProperties != null) {
     symbolProperties.setStretch(newval);
   }
   getOnImage().setStretch(newval);
   getOffImage().setStretch(newval);
   repaint();
 }
 /**
  * Sets the amount of pixels, which are cropped from the top.
  *
  * @param newval The amount of pixels
  */
 public synchronized void setTopCrop(final int newval) {
   if (symbolProperties != null) {
     symbolProperties.setTopCrop(newval);
   }
   getOnImage().setTopCrop(newval);
   getOffImage().setTopCrop(newval);
   repaint();
 }
 public synchronized void setAutoSize(final boolean autoSize) {
   if (symbolProperties != null) {
     symbolProperties.setAutoSize(autoSize);
   }
   getOnImage().setAutoSize(autoSize);
   getOffImage().setAutoSize(autoSize);
   repaint();
 }