public CFBamSwingStringColViewEditJPanel(
     ICFBamSwingSchema argSchema, ICFBamStringColObj argFocus) {
   super();
   final String S_ProcName = "construct-schema-focus";
   if (argSchema == null) {
     throw CFLib.getDefaultExceptionFactory()
         .newNullArgumentException(getClass(), S_ProcName, 1, "argSchema");
   }
   // argFocus is optional; focus may be set later during execution as
   // conditions of the runtime change.
   swingSchema = argSchema;
   setSwingFocus(argFocus);
   setSize(1024, 480);
   splitPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
   attrJPanel = argSchema.getStringColFactory().newAttrJPanel(argFocus);
   attrScrollPane = new CFHSlaveJScrollPane(attrJPanel);
   eltJTabbedPane = argSchema.getStringColFactory().newEltJTabbedPane(argFocus);
   splitPane.setTopComponent(attrScrollPane);
   splitPane.setBottomComponent(eltJTabbedPane);
   add(splitPane);
   splitPane.setBounds(0, 0, 1024, 455);
   splitPane.setDividerLocation(200);
   if (getSwingFocus() != null) {
     setPanelMode(CFJPanel.PanelMode.View);
   }
   doLayout();
 }
 public void doLayout() {
   Dimension sz = getSize();
   splitPane.setBounds(0, 0, sz.width, sz.height);
   splitPane.doLayout();
   attrScrollPane.doLayout();
   eltJTabbedPane.doLayout();
 }