public SMAEstimatedHoursHeader(
      Composite parent, int style, final AbstractWorkflowArtifact sma, final SMAEditor editor) {
    super(parent, style);
    this.awa = sma;
    setLayoutData(new GridData(SWT.FILL, SWT.NONE, true, false));
    setLayout(ALayout.getZeroMarginLayout(2, false));
    editor.getToolkit().adapt(this);

    try {
      if (!sma.isCancelled() && !sma.isCompleted()) {
        Hyperlink link = editor.getToolkit().createHyperlink(this, LABEL, SWT.NONE);
        link.addHyperlinkListener(
            new IHyperlinkListener() {

              @Override
              public void linkEntered(HyperlinkEvent e) {
                // do nothing
              }

              @Override
              public void linkExited(HyperlinkEvent e) {
                // do nothing
              }

              @Override
              public void linkActivated(HyperlinkEvent e) {
                try {
                  if (editor.isDirty()) {
                    editor.doSave(null);
                  }
                  PromptChangeUtil.promptChangeAttribute(
                      sma, AtsAttributeTypes.EstimatedHours, true, false);
                } catch (Exception ex) {
                  OseeLog.log(Activator.class, OseeLevel.SEVERE_POPUP, ex);
                }
              }
            });
      } else {
        Label origLabel = editor.getToolkit().createLabel(this, LABEL);
        origLabel.setLayoutData(new GridData());
      }

      valueLabel = editor.getToolkit().createLabel(this, "0.0");
      valueLabel.setToolTipText(getToolTip());
      valueLabel.setLayoutData(new GridData());
      updateLabel(sma);

    } catch (OseeCoreException ex) {
      Label errorLabel =
          editor.getToolkit().createLabel(this, "Error: " + ex.getLocalizedMessage());
      errorLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
      OseeLog.log(Activator.class, Level.SEVERE, ex);
    }
  }
  private void createStatusBar(Composite parent) {
    statusComposite = new Composite(parent, SWT.BORDER);
    statusComposite.setLayout(new GridLayout(2, false));
    statusComposite.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, false));
    statusComposite.setBackground(Displays.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    statusComposite.setForeground(Displays.getSystemColor(SWT.COLOR_INFO_FOREGROUND));

    Label imageLabel = new Label(statusComposite, SWT.NONE);
    imageLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
    imageLabel.setImage(
        PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK));
    imageLabel.setBackground(Displays.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    imageLabel.setForeground(Displays.getSystemColor(SWT.COLOR_INFO_FOREGROUND));

    statusLabel = new Label(statusComposite, SWT.NONE);
    statusLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
    statusLabel.setText("");
    statusLabel.setBackground(Displays.getSystemColor(SWT.COLOR_INFO_BACKGROUND));
    statusLabel.setForeground(Displays.getSystemColor(SWT.COLOR_RED));
  }