/** DOCUMENT ME! */
 public void refresh() {
   if (txtKassenzeichen.getText().trim().length() > 0) {
     gotoKassenzeichen(txtKassenzeichen.getText().trim());
   } else {
     gotoKassenzeichen(txtSearch.getText().trim());
   }
 }
 @Override
 public void historyChanged() {
   if ((historyModel != null) && (historyModel.getCurrentElement() != null)) {
     if (LOG.isDebugEnabled()) {
       LOG.debug("historyChanged:" + historyModel.getCurrentElement().toString());
     }
     if ((historyModel.getCurrentElement() != null)
         && (!(historyModel.getCurrentElement().equals(txtSearch.getText())))) {
       txtSearch.setText(historyModel.getCurrentElement().toString());
       gotoKassenzeichen(txtSearch.getText(), false);
     }
   }
 }
  /**
   * DOCUMENT ME!
   *
   * @param evt DOCUMENT ME!
   */
  private void chkSperreActionPerformed(
      final java.awt.event.ActionEvent evt) { // GEN-FIRST:event_chkSperreActionPerformed
    mainApp.refreshLeftTitleBarColor();

    final boolean sperre = chkSperre.isSelected();
    if (sperre) {
      final String answer =
          JOptionPane.showInputDialog(
              mainApp.getRootPane(),
              "Bitte eine Bemerkung zur Sperre angeben.",
              txtSperreBemerkung.getText());
      if (answer == null) {
        chkSperre.setSelected(false);
      }
      txtSperreBemerkung.setText(answer);
    } else {
      txtSperreBemerkung.setText(null);
    }
  } // GEN-LAST:event_chkSperreActionPerformed
  /**
   * former synchronized method.
   *
   * @param kz DOCUMENT ME!
   * @param historyEnabled DOCUMENT ME!
   */
  public void gotoKassenzeichen(final String kz, final boolean historyEnabled) {
    boolean refreshFlag = false;
    final String[] test = kz.split(":");

    final String kassenzeichenNummer;
    final String flaechenBez;
    if (test.length > 1) {
      kassenzeichenNummer = test[0];
      flaechenBez = test[1];
    } else {
      kassenzeichenNummer = kz;
      flaechenBez = "";
    }

    if (kassenzeichenNummer.trim().equals(txtKassenzeichen.getText().trim())) {
      refreshFlag = true;
    }

    if ((mainApp.changesPending() == false) || (refreshFlag == true)) {
      mainApp.disableKassenzeichenCmds();
      txtSearch.setEnabled(false);
      btnSearch.setEnabled(false);
      setKZSearchField(kz);

      new SwingWorker<CidsBean, Void>() {

        @Override
        protected CidsBean doInBackground() throws Exception {
          return CidsAppBackend.getInstance()
              .loadKassenzeichenByNummer(Integer.parseInt(kassenzeichenNummer));
        }

        @Override
        protected void done() {
          try {
            final CidsBean cidsBean = get();

            if (cidsBean != null) {
              CidsAppBackend.getInstance().setCidsBean(cidsBean);
              selectFlaecheByBez(flaechenBez);
              flashSearchField(Color.GREEN);
              if (historyEnabled) {
                historyModel.addToHistory(kz);
              }
            } else {
              flashSearchField(Color.RED);
            }
          } catch (Exception e) {
            LOG.error("Exception in Background Thread", e);
            flashSearchField(Color.RED);
            mainApp.enableEditing(false);
          }
          txtSearch.setEnabled(true);
          btnSearch.setEnabled(true);
          mainApp.refreshLeftTitleBarColor();
          mainApp.refreshKassenzeichenButtons();
          mainApp.refreshClipboardButtons();
          mainApp.refreshItemButtons();
        }
      }.execute();
    } else {
      JOptionPane.showMessageDialog(
          mainApp,
          "Das Kassenzeichen kann nur gewechselt werden wenn alle \u00C4nderungen gespeichert oder verworfen worden sind.",
          "Wechseln nicht m\u00F6glich",
          JOptionPane.WARNING_MESSAGE);
    }
  }
 /** DOCUMENT ME! */
 private void gotoTxtKassenzeichen() {
   if (LOG.isDebugEnabled()) {
     LOG.debug("gotoTxtKassenzeichen");
   }
   this.gotoKassenzeichen(txtSearch.getText());
 }
 /**
  * DOCUMENT ME!
  *
  * @return DOCUMENT ME!
  */
 public String getShownKassenzeichen() {
   return txtKassenzeichen.getText();
 }
 /**
  * DOCUMENT ME!
  *
  * @return DOCUMENT ME!
  */
 public boolean isEmpty() {
   return (txtKassenzeichen.getText().trim().equals(""));
 }
 /** DOCUMENT ME! */
 public void unlockDataset() {
   final String object_id = txtKassenzeichen.getText().trim();
   if ((object_id != null) && (object_id.length() > 0)) {
     unlockDataset(object_id);
   }
 }
 /**
  * DOCUMENT ME!
  *
  * @return DOCUMENT ME!
  */
 public boolean lockDataset() {
   final String object_id = txtKassenzeichen.getText().trim();
   return lockDataset(object_id);
 }