Package org.objectstyle.wolips.eogenerator.ui

Source Code of org.objectstyle.wolips.eogenerator.ui.DialogEOGeneratorListener

package org.objectstyle.wolips.eogenerator.ui;

import org.eclipse.core.resources.IFile;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.objectstyle.wolips.eogenerator.core.model.IEOGeneratorListener;
import org.objectstyle.wolips.eogenerator.ui.dialogs.EOGeneratorResultsDialog;

public class DialogEOGeneratorListener implements IEOGeneratorListener {
  private StringBuffer _output;
  private Shell _shell;
  private boolean _succeeded;

  public DialogEOGeneratorListener(Shell shell) {
    _shell = shell;
  }
 
  public Shell getShell() {
    return _shell;
  }
 
  public void eogeneratorStarted() {
    _output = new StringBuffer();
    _succeeded = true;
  }

  public void eogeneratorFailed(IFile eogenFile, String results) {
    appendLines(eogenFile, results);
    _succeeded = false;
  }

  public void eogeneratorSucceeded(IFile eogenFile, String results) {
    appendLines(eogenFile, results);
  }

  public void eogeneratorFinished() {
    if (_output.length() > 0 && !_succeeded) {
      final String output = _output.toString();
      Display.getDefault().asyncExec(new Runnable() {
        public void run() {
          EOGeneratorResultsDialog resultsDialog = new EOGeneratorResultsDialog(DialogEOGeneratorListener.this.getShell(), output.toString());
          resultsDialog.open();
        }
      });
    }
  }

  protected void appendLines(IFile eogenFile, String results) {
    _output.append(eogenFile.getLocation().toOSString());
    _output.append(":\n");
    if (results.length() == 0) {
      _output.append("\tFinished.\n");
    }
    else {
      for (String line : results.split("\n")) {
        _output.append("\t");
        _output.append(line);
        _output.append("\n");
      }
    }
    _output.append("\n\n");
  }
}
TOP

Related Classes of org.objectstyle.wolips.eogenerator.ui.DialogEOGeneratorListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.