Changeset 2109


Ignore:
Timestamp:
08/17/12 08:37:44 (12 years ago)
Author:
twagoo
Message:

Made components in component editor collapsable

Location:
ComponentRegistry/branches/ComponentRegistry-1.12.0/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • ComponentRegistry/branches/ComponentRegistry-1.12.0/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/ComponentEdit.as

    r2071 r2109  
    3939                private var addElementLabel:Label
    4040               
     41                private var showToggleBox:ShowToggleBox;
     42                private var hideableForm:Form;
    4143               
    4244                public function ComponentEdit(component:CMDComponent, parent:UIComponent, parentComponent:CMDComponent) {
     
    98100                        createComponentEditBar();
    99101                       
     102                        hideableForm = createHidableForm();                     
     103                        showToggleBox.visibleContainer = hideableForm;
     104                       
     105                        addChild(hideableForm);                 
     106                       
     107                        var summary:ComponentSummary = new ComponentSummary();
     108                        summary.component = _component;
     109                        summary.visible = false;
     110                        showToggleBox.invisibleContainer = summary;
     111                       
     112                        addChild(summary);
     113                       
    100114                        var componentLink:FormItem = createComponentLink(_component);
    101115                        if (componentLink != null) {
    102116                                addCardinalityInput();
    103                                 addChild(componentLink);
     117                                hideableForm.addChild(componentLink);
    104118                        } else {
    105119                                addNameInput();
     
    127141                                drawFocus(false);
    128142                        });
    129                         addChild(addComponentLabel);
     143                        hideableForm.addChild(addComponentLabel);
    130144                }
    131145               
     
    144158                                drawFocus(false);
    145159                        });
    146                         addChild(addElementLabel);
     160                        hideableForm.addChild(addElementLabel);
    147161                }
    148162               
    149163                private function addConceptLink():void {
    150                         addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _component.conceptLink, function(val:String):void {
     164                        hideableForm.addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _component.conceptLink, function(val:String):void {
    151165                                _component.conceptLink = val;
    152166                        }));
     
    163177                                _component.name = val; 
    164178                        }, new ChildNameValidator(_parentComponent, component));
    165                         addChild(nameInput);
     179                        hideableForm.addChild(nameInput);
    166180                }
    167181               
    168182                private function addCardinalityInput():void {
    169                         addChild(new CardinalityInput(LabelConstants.CARDINALITY_MIN, _component.cardinalityMin, CardinalityInput.BOUNDED, function(val:String):void {
     183                        hideableForm.addChild(new CardinalityInput(LabelConstants.CARDINALITY_MIN, _component.cardinalityMin, CardinalityInput.BOUNDED, function(val:String):void {
    170184                                _component.cardinalityMin = val;
    171185                        }));
    172                         addChild(new CardinalityInput(LabelConstants.CARDINALITY_MAX, _component.cardinalityMax, CardinalityInput.UNBOUNDED,function(val:String):void {
     186                        hideableForm.addChild(new CardinalityInput(LabelConstants.CARDINALITY_MAX, _component.cardinalityMax, CardinalityInput.UNBOUNDED,function(val:String):void {
    173187                                _component.cardinalityMax = val;
    174188                        }));
    175189                }
    176190               
     191                private function createHidableForm():Form {
     192                        var form:Form = new Form();
     193                        form.styleName = StyleConstants.XMLBROWSER;
     194                        form.setStyle("paddingTop","0");
     195                        form.setStyle("paddingBottom","0");
     196                        form.verticalScrollPolicy = "off";
     197                        form.horizontalScrollPolicy = "off";
     198                        return form;
     199                }
     200               
    177201                private function createComponentEditBar():void {
    178202                        var editBar:HBox = new HBox();
     203                       
     204                        showToggleBox = new ShowToggleBox();
     205                        showToggleBox.visibleState = true;
     206                        editBar.addChild(showToggleBox);
     207                       
    179208                        editBar.addChild(createHeading());
    180209                        var removeButton:Label = new RemoveLabelButton();
     
    236265               
    237266                private function handleCMDAttributeList():void {
    238                         addChild(new AttributeListEdit(_component, this));
     267                        hideableForm.addChild(new AttributeListEdit(_component, this));
    239268                }
    240269               
     
    250279                        comp.setStyle("paddingLeft", "50");
    251280                        if (!addComponentLabel) {
    252                                 addChild(comp);
     281                                hideableForm.addChild(comp);
    253282                        } else {
    254                                 addChildAt(comp, getChildIndex(addComponentLabel));
     283                                hideableForm.addChildAt(comp, hideableForm.getChildIndex(addComponentLabel));
    255284                        }
    256285                }
     
    259288                        var comp:CMDComponent = ComponentEdit(event.currentTarget).component;
    260289                        _component.removeComponent(comp);
    261                         removeChild(event.currentTarget as DisplayObject);
     290                        hideableForm.removeChild(event.currentTarget as DisplayObject);
    262291                }
    263292               
     
    273302                        elem.addEventListener(ElementEdit.REMOVE_ELEMENT_EVENT, removeElement);
    274303                        if (!addElementLabel) {
    275                                 addChild(elem);
     304                                hideableForm.addChild(elem);
    276305                        } else {
    277                                 addChildAt(elem, getChildIndex(addElementLabel));
     306                                hideableForm.addChildAt(elem, hideableForm.getChildIndex(addElementLabel));
    278307                        }
    279308                }
     
    282311                        var elem:CMDComponentElement = ElementEdit(event.currentTarget).element;
    283312                        _component.removeElement(elem);
    284                         removeChild(event.currentTarget as DisplayObject);
     313                        hideableForm.removeChild(event.currentTarget as DisplayObject);
    285314                }
    286315               
  • ComponentRegistry/branches/ComponentRegistry-1.12.0/ComponentBrowserGui/src/main/flex/clarin/cmdi/componentregistry/editor/model/CMDComponent.as

    r1988 r2109  
    77        import mx.events.CollectionEventKind;
    88
     9        [Bindable]
    910        public class CMDComponent implements XmlAble, AttributeContainer, ChangeTrackingCMDElement {
    1011
Note: See TracChangeset for help on using the changeset viewer.