public void setJavaFXFocus(ICFLibAnyObj value) {
   final String S_ProcName = "setJavaFXFocus";
   if ((value == null) || (value instanceof ICFBamBlobTypeObj)) {
     super.setJavaFXFocus(value);
   } else {
     throw CFLib.getDefaultExceptionFactory()
         .newUnsupportedClassException(
             getClass(), S_ProcName, "value", value, "ICFBamBlobTypeObj");
   }
   ((ICFBamJavaFXBlobTypePaneCommon) javafxAddPane).setJavaFXFocus(value);
   ICFBamBlobTypeObj argFocus = (ICFBamBlobTypeObj) value;
   if ((argFocus != null) && (!argFocus.getIsNew())) {
     argFocus = (ICFBamBlobTypeObj) argFocus.read(true);
     super.setJavaFXFocus(argFocus);
   }
 }
  public CFBamJavaFXBlobTypeAddForm(
      ICFFormManager formManager,
      ICFBamJavaFXSchema argSchema,
      ICFBamBlobTypeObj argFocus,
      ICFFormClosedCallback closeCallback,
      boolean argAllowSave) {
    super();
    final String S_ProcName = "construct-schema-focus";
    allowSave = argAllowSave;
    if (formManager == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 1, "formManager");
    }
    cfFormManager = formManager;
    formClosedCallback = closeCallback;
    if (argSchema == null) {
      throw CFLib.getDefaultExceptionFactory()
          .newNullArgumentException(getClass(), S_ProcName, 2, "argSchema");
    }
    // argFocus is optional; focus may be set later during execution as
    // conditions of the runtime change.
    javafxSchema = argSchema;
    javaFXFocus = argFocus;
    if ((argFocus != null) && (!argFocus.getIsNew())) {
      argFocus = (ICFBamBlobTypeObj) argFocus.read(true);
      javaFXFocus = argFocus;
    }
    javafxAddPane = argSchema.getBlobTypeFactory().newAddPane(cfFormManager, argFocus);

    scrollMenu = new ScrollPane();
    scrollMenu.setVbarPolicy(ScrollBarPolicy.NEVER);
    scrollMenu.setHbarPolicy(ScrollBarPolicy.AS_NEEDED);
    scrollMenu.setFitToHeight(true);
    scrollMenu.setContent(getHBoxMenu());

    setTop(scrollMenu);
    setCenter(javafxAddPane);
  }
 public void forceCancelAndClose() {
   ICFBamBlobTypeObj focus = getJavaFXFocusAsBlobType();
   if (focus != null) {
     ICFBamBlobTypeEditObj editObj = (ICFBamBlobTypeEditObj) focus.getEdit();
     if (editObj != null) {
       if (editObj.getIsNew()) {
         editObj.endEdit();
         setJavaFXFocus(null);
         setPaneMode(CFPane.PaneMode.Unknown);
       } else {
         editObj.endEdit();
         setPaneMode(CFPane.PaneMode.View);
       }
     }
   }
   if (cfFormManager != null) {
     if (cfFormManager.getCurrentForm() == this) {
       cfFormManager.closeCurrentForm();
     }
   }
   if (formClosedCallback != null) {
     formClosedCallback.formClosed(null);
   }
 }