haxeui-core icon indicating copy to clipboard operation
haxeui-core copied to clipboard

ListView defined by XML doesn't renderer/behave the same when defined by code

Open KanedaFr opened this issue 5 years ago • 0 comments

Expected Behavior

Define a ListView by XML or Code should

  • give the same visual renderer
  • dispatch ItemEvent.COMPONENT_EVENT

Current Behavior

By code, the renderer is totally different and basic, ItemEvent.COMPONENT_EVENT isn't fired

Possible Solution

  • autoload correct style by default on listView creation by code
  • no solution for event not firing

Steps to Reproduce (for bugs)

XML:

<listview id="lv1" width="500" selectedIndex="0">
       <item-renderer layoutName="horizontal" width="100%">
           <label id="value" width="100%" />
       </item-renderer>
       <data>
           <item value="item0" />
           <item value="item1" />
           <item value="item2" />
       </data>
   </listview>

Code:

typedef DataInfo = 
{
    var value:String;
}



var v:VBox = new VBox();
        v.percentHeight = 100;
        v.percentWidth = 100;

        var ib = new Box();
        ib.percentWidth = 100;
        var lb = new Label();
        lb.id = value;
        lb.percentWidth = 100;
        var ir = new ItemRenderer();
        ir.percentWidth = 100;
        ib.addComponent( lb);
        ir.addComponent( ib );

        lv1 = new ListView();
        lv1.width = 500;
        lv1.itemRenderer = ir;

        var data = new ArrayDataSource<DataInfo>();
        data.add( { value:"item1"} ); 
        data.add( { value:"item2"} );
        data.add( { value:"item3"} );

        lv1.dataSource = data;

       
        //lv1.registerEvent( ItemEvent.COMPONENT_EVENT, onItemChange);

        v.addComponent( lv1 );

        button1 = new Button();
        button1.text="Annuler";
        button1.registerEvent(MouseEvent.CLICK, onButton1);
        v.addComponent( button1 );


        addComponent(v);

        lv1.onComponentEvent = function(e) {
            trace(e.data);
        }

Media

XML image

Code image

(sorry, I didn't capture the right XML version)

Test app / minimal test case

see below

Context

Trying to write an all in one hx file for better bug sharing (!)

Your Environment

OSX, hxWidget backend

KanedaFr avatar May 18 '20 10:05 KanedaFr