Changeset 2108


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

Made elements in component editor collapsable

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

Legend:

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

    r2071 r2108  
    1212       
    1313        import mx.binding.utils.BindingUtils;
     14        import mx.containers.Box;
    1415        import mx.containers.Form;
    1516        import mx.containers.FormItem;
    1617        import mx.containers.HBox;
     18        import mx.containers.VBox;
    1719        import mx.controls.Button;
    1820        import mx.controls.Label;
     
    2628                private var _parentComponent:CMDComponent;
    2729                private var _parent:UIComponent;
     30                private var showToggleBox:ShowToggleBox;
     31                private var hideableForm:Form;
    2832
    2933                public function ElementEdit(element:CMDComponentElement, parent:UIComponent, parentComponent:CMDComponent) {
     
    3337                        this._parent = parent;
    3438                        styleName = StyleConstants.XMLBROWSER;
     39                       
     40                        setStyle("paddingBottom","5");
     41                        verticalScrollPolicy = "off";
     42                        horizontalScrollPolicy = "off";
     43                       
    3544                }
    3645
     
    4554                protected override function createChildren():void {
    4655                        super.createChildren();
     56                                               
    4757                        addChild(createEditBar());
    48                         addNameInput();
    49                         addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _element.conceptLink, function(val:String):void {
     58                       
     59                        hideableForm = createHidableForm();                     
     60                        showToggleBox.visibleContainer = hideableForm;
     61                       
     62                        addChild(hideableForm);
     63                       
     64                        var summary:ElementSummary = new ElementSummary();
     65                        summary.element = _element;
     66                        summary.visible = false;
     67                        showToggleBox.invisibleContainer = summary;
     68
     69                        addChild(summary);
     70                       
     71                        hideableForm.addChild(createNameInput());
     72                        hideableForm.addChild(new ConceptLinkInput(LabelConstants.CONCEPTLINK, _element.conceptLink, function(val:String):void {
    5073                                        _element.conceptLink = val;
    5174                                }));
    52                         addChild(new FormItemInputLine(LabelConstants.DOCUMENTATION, _element.documentation, function(val:String):void {
     75                        hideableForm.addChild(new FormItemInputLine(LabelConstants.DOCUMENTATION, _element.documentation, function(val:String):void {
    5376                                        _element.documentation = val;
    5477                                }));
    55                         addChild(new DisplayPriorityInput(LabelConstants.DISPLAY_PRIORITY, _element.displayPriority, function(val:String):void {
     78                        hideableForm.addChild(new DisplayPriorityInput(LabelConstants.DISPLAY_PRIORITY, _element.displayPriority, function(val:String):void {
    5679                                        _element.displayPriority = val;
    5780                                }));
     
    6083                                _element.cardinalityMin = val;
    6184                        });
    62                         addChild(cardinalityMinInput);
     85                        hideableForm.addChild(cardinalityMinInput);
    6386                       
    6487                        var cardinalityMaxInput:CardinalityInput = new CardinalityInput(LabelConstants.CARDINALITY_MAX, _element.cardinalityMax, CardinalityInput.UNBOUNDED, function(val:String):void {
     
    6992                                cardinalityMaxInput.enabled = _element.multilingual != "true";
    7093                        }, _element, "multilingual");
    71                         addChild(cardinalityMaxInput);
    72                        
    73                         addChild(AttributeListEdit.createAndAddValueScheme(_element));
     94                        hideableForm.addChild(cardinalityMaxInput);
     95                       
     96                        hideableForm.addChild(AttributeListEdit.createAndAddValueScheme(_element));
    7497                        var multiLingualCheck:CheckboxInput = new CheckboxInput(LabelConstants.MULTILINGUAL, _element.multilingual == "true", function(val:Boolean):void {
    7598                                        _element.multilingual = String(val);
     
    85108                                }, _element, "valueSchemeSimple");
    86109                       
    87                         addChild(multiLingualCheck);
     110                        hideableForm.addChild(multiLingualCheck);
    88111                        handleCMDAttributeList();
     112                }
     113               
     114                private function createHidableForm():Form {
     115                        var form:Form = new Form();
     116                        form.styleName = StyleConstants.XMLBROWSER;
     117                        form.setStyle("paddingTop","0");
     118                        form.setStyle("paddingBottom","0");
     119                        form.verticalScrollPolicy = "off";
     120                        form.horizontalScrollPolicy = "off";
     121                        return form;
    89122                }
    90123
    91124                private function createEditBar():HBox {
    92125                        var editBar:HBox = new HBox();
     126                       
     127                        showToggleBox = new ShowToggleBox();
     128                        showToggleBox.visibleState = true;
     129                        editBar.addChild(showToggleBox);
     130                       
    93131                        editBar.addChild(createHeading());
    94132                        var removeButton:Label = new RemoveLabelButton();
     
    146184                private function handleCMDAttributeList():void {
    147185                        var attributeEdit:Container = new AttributeListEdit(_element, this);
    148                         addChild(attributeEdit);
     186                        hideableForm.addChild(attributeEdit);
    149187                }
    150188
     
    156194                }
    157195
    158                 private function addNameInput():void {
     196                private function createNameInput():NameInputLine {
    159197                        var nameInput:NameInputLine = new NameInputLine(_element.name, function(val:String):void {
    160198                                        _element.name = val;
    161199                        }, new ChildNameValidator(_parentComponent, element));
    162                         addChild(nameInput);
     200                        return nameInput;
    163201                }
    164202        }
Note: See TracChangeset for help on using the changeset viewer.