/**
   * Constructs a <code>ConstantEditor</code> using the given model.
   *
   * @param theParent the parent container
   * @param theModel the editor's model
   * @throws IllegalArgumentException if any of the parameters are <code>null</code>
   */
  public ConstantEditor(Composite theParent, ConstantEditorModel theModel) {
    super(theParent, Constant.class, theModel);

    controller = new ViewController();
    model = theModel;
    model.addModelListener(controller);

    // start the controller
    controller.initialize();
  }