public CFBamSwingLoaderBehaviourViewEditJInternalFrame(
     ICFBamSwingSchema argSchema, ICFBamLoaderBehaviourObj argFocus) {
   super();
   final String S_ProcName = "construct-schema-focus";
   if (argSchema == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 1, "argSchema");
   }
   setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
   // argFocus is optional; focus may be set later during execution as
   // conditions of the runtime change.
   swingSchema = argSchema;
   swingFocus = argFocus;
   if ((argFocus != null) && (!argFocus.getIsNew())) {
     argFocus = (ICFBamLoaderBehaviourObj) argFocus.read(true);
     swingFocus = argFocus;
   }
   swingViewEditJPanel = argSchema.getLoaderBehaviourFactory().newViewEditJPanel(argFocus);
   setContentPane(swingViewEditJPanel);
   Dimension dim = new Dimension(1024, 480);
   setSize(dim);
   dim = new Dimension(320, 240);
   setMinimumSize(dim);
   setTitle("View/Edit LoaderBehaviour");
   setJMenuBar(getFrameMenuBar());
   setIconifiable(true);
   setMaximizable(true);
   setResizable(true);
   setClosable(false);
 }
 public void setSwingFocus(ICFLibAnyObj value) {
   final String S_ProcName = "setSwingFocus";
   if ((value == null) || (value instanceof ICFBamLoaderBehaviourObj)) {
     super.setSwingFocus(value);
   } else {
     throw CFLib.getDefaultExceptionFactory()
         .newUnsupportedClassException(
             getClass(), S_ProcName, "value", value, "ICFBamLoaderBehaviourObj");
   }
   ((ICFBamSwingLoaderBehaviourJPanelCommon) swingViewEditJPanel).setSwingFocus(value);
   ICFBamLoaderBehaviourObj argFocus = (ICFBamLoaderBehaviourObj) value;
   if ((argFocus != null) && (!argFocus.getIsNew())) {
     argFocus = (ICFBamLoaderBehaviourObj) argFocus.read(true);
     super.setSwingFocus(argFocus);
   }
 }
 public void actionPerformed(ActionEvent e) {
   final String S_ProcName = "actionPerformed";
   ICFBamLoaderBehaviourObj focus = getSwingFocusAsLoaderBehaviour();
   if (focus != null) {
     ICFBamLoaderBehaviourEditObj editObj = (ICFBamLoaderBehaviourEditObj) (focus.getEdit());
     if (editObj != null) {
       setPanelMode(CFJPanel.PanelMode.Update);
     } else {
       throw CFLib.getDefaultExceptionFactory()
           .newUsageException(
               getClass(), S_ProcName, "Cannot save on object that isn't being edited");
     }
   }
   try {
     setClosed(true);
   } catch (Exception x) {
   }
 }
 public void actionPerformed(ActionEvent e) {
   ICFBamLoaderBehaviourObj focus = getSwingFocusAsLoaderBehaviour();
   if (focus != null) {
     ICFBamLoaderBehaviourEditObj editObj = (ICFBamLoaderBehaviourEditObj) focus.getEdit();
     if (editObj != null) {
       if (editObj.getIsNew()) {
         editObj.endEdit();
         setSwingFocus(null);
         setPanelMode(CFJPanel.PanelMode.Unknown);
       } else {
         editObj.endEdit();
         setPanelMode(CFJPanel.PanelMode.View);
       }
     }
   }
   try {
     setClosed(true);
   } catch (Exception x) {
   }
 }