Package ca.nengo.ui.lib.objects.activities

Source Code of ca.nengo.ui.lib.objects.activities.TrackedStatusMsg

package ca.nengo.ui.lib.objects.activities;

import ca.nengo.ui.lib.Style.NengoStyle;
import ca.nengo.ui.lib.util.UIEnvironment;
import ca.nengo.ui.lib.world.piccolo.WorldObjectImpl;
import ca.nengo.ui.lib.world.piccolo.primitives.Text;

/**
* Displays and removes a task message from the application status bar
*
* @author Shu Wu
*/
public class TrackedStatusMsg {
  private String taskName;
  Text taskText;

  public TrackedStatusMsg(String taskName) {
    this(taskName, null);
  }

  public TrackedStatusMsg(String taskName, WorldObjectImpl wo) {
    super();

    if (wo != null) {
      taskText = new Text(taskName);
      taskText.setPaint(NengoStyle.COLOR_NOTIFICATION);
      taskText.setOffset(0, -taskText.getHeight());
      wo.addChild(taskText);

      setTaskName(wo.getName() + ": " + taskName);
    } else {
      setTaskName(taskName);
    }
    init();
  }

  private void init() {
     UIEnvironment.getInstance().getUniverse().addTaskStatusMsg(getTaskName());

  }

  protected String getTaskName() {
    return taskName;
  }

  protected void setTaskName(String taskName) {
    this.taskName = taskName;
  }

  /**
   * Removes the task message from the application status bar.
   */
  public void finished() {
    UIEnvironment.getInstance().getUniverse().removeTaskStatusMsg(getTaskName());

    if (taskText != null) {
      taskText.removeFromParent();
    }
  }
}
TOP

Related Classes of ca.nengo.ui.lib.objects.activities.TrackedStatusMsg

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.