Обработка событий в APE-формах Borland StarTeam

При разработке APE-форм для Borland StarTeam часто возникает желание обрабатывать некоторые события на уровне всего объекта (например Task).

Так что небольшой кусок кода, который показывает как можно отслеживать следующие вещи:

  1. Изменение атрибута (свойства) объекта — addPropertyChangeListener
  2. Предобработка глобальных событий (сохранение например) объекта — addPreprocessListener
  3. Постобработка глобальных событий — addPostprocessListener

Самое сложное — хоть убей не помню, где же есть описание вот этого:

        String str = ev.getOperation();
        if (str.equals(«update«))

Ну а вот и сам кусок кода:

package com.starbase.starteam.task;

public class TaskForm extends JPanel {

  public static JFrame f;
  private static DefaultNavigatorPanel defNav;
  ItemCatcher itemCatch = new ItemCatcher();

  public TaskForm() {
  }

  void jbInit() throws Exception {
  }

  public static void main(String[] args) {
  }

  private void onLoadItem() {

  }

  class ItemCatcher extends JComponent implements ItemDisplayListener {
    ItemCatcher() {
    }

    public void refreshDisplay() {
      // Do nothing
    }

    public void setItem(ItemWrapper item) {
      Container con = this.getParent().getParent();
      defNav = (DefaultNavigatorPanel) con.getParent();
      item.addPropertyChangeListener(new PropertyChangeListener() {
        public void propertyChange(PropertyChangeEvent ev) {
          onLoadItem();
        }
      });

    defNav.navigator.addPreprocessListener(new PreprocessListener() {
      public void preprocess(PreprocessEvent ev) throws AbortException {
        String str = ev.getOperation();
        if (str.equals(«update»)) {
      }
    });

    defNav.navigator.addPostprocessListener(new PostprocessListener() {
      public void postprocess(PostprocessEvent ev) {
        String str = ev.getOperation();
        if (str.equals(«update»)) {
        }
      }
    });
  }
}

Если что — спрашивайте. Постараюсь помочь :)

0 Responses to “Обработка событий в APE-формах Borland StarTeam”


  • No Comments

Leave a Reply

 

Spam Protection by WP-SpamFree