public void hide() {
    // if (adapter.getParentAdapter() == null) return;
    ObjectEditor.setVisible(parentClass, adapter.getPropertyName(), false);
    adapter.getTopAdapter().refreshAttributes(parentClass);
    // ObjectEditor.refreshAttributes(this, adapter.getParentAdapter().getPropertyClass());

  }
  public AColumnDisplayerModel(ObjectAdapter theAdapter) {

    adapter = theAdapter;
    parentClass = adapter.getParentAdapter().getPropertyClass();
    CompositeAdapter parentAdapter = adapter.getParentAdapter();
    BeanToRecord recordStructure = (BeanToRecord) parentAdapter.getConcreteObject();
    componentNames = recordStructure.componentNames();
    projectionGroups = adapter.getParentAdapter().getUnParsedProjectionGroups();
    processProjectionGroups();
    processComponentNames();
    dynamicCommandsVector.addAll(projectionGroupCommands);
    dynamicCommandsVector.addAll(allSiblingCommands);
    dynamicCommands = new String[0];
    dynamicCommands = dynamicCommandsVector.toArray(dynamicCommands);
  }
 public void showAll() {
   // resetHiddenSiblingCommands();
   for (int i = 0; i < componentNames.size(); i++) {
     ObjectEditor.setVisible(parentClass, componentNames.get(i), true);
   }
   adapter.getTopAdapter().refreshAttributes(parentClass);
 }
 public void invokeDynamicCommand(String theCommand) {
   lastGroupCommandSelected = null;
   displayedProperties = null;
   String propertyOrGroupName = getPropertyOrGroupName(theCommand).toLowerCase();
   if (allSiblingCommands.contains(theCommand)) {
     ObjectEditor.setVisible(parentClass, propertyOrGroupName, true);
     adapter.getTopAdapter().refreshAttributes(parentClass);
   } else {
     lastGroupCommandSelected = theCommand;
     displayedProperties = projectionGroups.get(propertyOrGroupName);
     for (int i = 0; i < componentNames.size(); i++) {
       String nextComponent = componentNames.get(i);
       if (displayedProperties.contains(nextComponent))
         ObjectEditor.setVisible(parentClass, nextComponent, true);
       else ObjectEditor.setVisible(parentClass, nextComponent, false);
     }
     adapter.getTopAdapter().refreshAttributes(parentClass);
   }
 }
  void processComponentNames() {
    allSiblingCommands.clear();

    for (int i = 0; i < componentNames.size(); i++) {
      if (adapter.getPropertyName().equals(componentNames.get(i))) continue;
      allSiblingCommands.add(toShowCommand(componentNames.get(i)));
    }
    /*
    allSiblingsArray = new String[1];
    allSiblingsArray = allSiblingCommands.toArray(allSiblingsArray);
    */

  }
  // public Component instantiateComponent(Class cclass, uiObjectAdapter adapter) {
  public VirtualComponent instantiateComponent(ClassProxy cclass, ObjectAdapter theAdapter) {
    instantiatedComponent = true;
    // System.out.println("instantiating  jcombo");
    // buttonGroup = new ButtonGroup();
    // buttonsPanel =  AnAWTContainer.virtualContainer(SwingPanelFactory.createJPanel());
    // buttonsPanel =  SwingPanelFactory.createJPanel();
    buttonsPanel = PanelSelector.createPanel();
    // virtualButtonsPanel =  AnAWTContainer.virtualContainer(buttonsPanel);
    theAdapter.getRow();
    // setSize(buttonsPanel);

    // cb.setSize(20, cb.getSize().height);
    // cb.setSelectedIndex(0);
    // cb.setEditable(true);
    // cb.setEnabled(true);
    // cb.setLightWeightPopupEnabled(false);
    // return virtualButtonsPanel;
    return buttonsPanel;
  }
package bus.uigen.sadapters;