Wow , thanks alot John for this valuable suggestion and helping me out , thats awesome! I will try to implement that and if it works i will share the results. I have also create an issue , to see response from Core devs, when they back from vacation.
Awesome man , thanks a lot. So i will leave this for now and do other things for phwa.be (We need Channel list and user list there urgent! :) I also created a channel for qooxdoo there http://phwa.be/c/qooxdoo On Tue, Aug 18, 2015 at 8:20 PM, John Spackman <john-li...@zenesis.com> wrote: > So the virtual stuff handles its own layouting and you’re right does not > appear to support margin. Actually it doesn’t support padding via > appearances either because the code has to specify the row height (try > setting the padding really high, e.g. 100 top and bottom to see how that > breaks the appearance). > > It seems like the only way to fix this is to implement your own class that > derives from qx.ui.form.ListItem and then implement your own layout within > the ListItem. You make it creates instances of your ListItem derived class > by providing your own WidgetProvider, but I’m not sure how you would hook > that up to your qx.ui.list.List (although it definitely uses one). A > Canvas layout would probably be fine in your ListItem, just set the default > height for cells to match the layouting that you do. > > John > > From: Phyo Arkar <phyo.arkarl...@gmail.com> > Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> > Date: Tuesday, 18 August 2015 14:36 > > To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> > Subject: Re: [qooxdoo-devel] Set margin between listitems > > I have updated another post , i posted a wrong file. > > For the test , yes i overridden on purpose to override all listitems to > make sure. > > I have attached full test tar.gz > > > > On Tue, Aug 18, 2015 at 7:50 PM, John Spackman <john-li...@zenesis.com> > wrote: > >> I don’t see where you’re setting the appearance; what happens if you >> modify vlistest.listItem’s properties to: >> >> properties: { content: { apply: "_applyPost", nullable: true }, >> appearance: { >> init: "listitem", >> refine: true >> } }, >> >> Or alternatively, what happens if you add this to your Appearance.js: >> >> "control" : { alias : "atom", style : function(states) { >> return { padding: [20,10] }; >> } >> } >> >> As an aside, “listitem" is also the name of a standard appearance and you >> might want to choose a different name unless you want all listitems to have >> your new style >> >> John >> >> From: Phyo Arkar <phyo.arkarl...@gmail.com> >> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >> Date: Tuesday, 18 August 2015 14:11 >> >> To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >> Subject: Re: [qooxdoo-devel] Set margin between listitems >> >> I’ve tested to make sure if my code is the problem , unfortunately it >> isn’t. Setting Margin of ListItem Dosen’t work in default virtual-list with >> default listItem either. >> >> here is the code: >> >> >> qx.Class.define("vlistest.listItem", { >> extend: qx.ui.core.Widget, >> include: [qx.ui.form.MModelProperty], >> construct: function() { >> this.base(arguments); >> var chat_grid = new qx.ui.layout.Grid(); >> chat_grid.setColumnFlex(1, 1); >> this._createChildControl("content"); >> >> }, >> >> properties: { >> content: { >> apply: "_applyPost", >> nullable: true >> } >> >> }, >> >> members: { >> _createChildControlImpl: function(id) { >> var that = this; >> var control; >> >> switch (id) { >> case "content": >> control = new qx.ui.basic.Label(); >> control.addListener("mouseover", function() { >> control.setSelectable(this.hasState("selected")) >> control.setNativeContextMenu(this.hasState("selected")) >> }, this) >> control.addListener("mouseout", function() { >> control.setSelectable(false) >> control.setNativeContextMenu(false) >> }, this) >> control.setWrap(true) >> control.setAllowGrowX(true); >> control.setRich(true); >> control.set({ >> appearance: "content" >> }); >> this.add(control, { >> row: 0, >> column: 0, >> colSpan: 4 >> }); >> break; >> return control || this.base(arguments, id); >> }, >> >> _applyPost: function(value, old) { >> var content = this.getChildControl("content"); >> content.setValue(value); >> // console.log(value) >> } >> } >> } >> }); >> >> here is the appearance , i over written listitem and margin of 100: >> >> >> qx.Theme.define("vlistest.theme.Appearance", >> { >> extend : qx.theme.indigo.Appearance, >> >> appearances : >> { >> "list" : >> { >> alias : "scrollarea", >> include : "textfield" >> }, >> >> "listitem" : >> { >> alias : "atom", >> >> style : function(states) >> { >> var padding = [3, 5, 3, 5]; >> if (states.lead) { >> padding = [ 2, 4 , 2, 4]; >> } >> if (states.dragover) { >> padding[2] -= 2; >> } >> >> var backgroundColor; >> if (states.selected) { >> backgroundColor = "background-selected" >> if (states.disabled) { >> backgroundColor += "-disabled"; >> } >> } >> return { >> gap : 4, >> marginBottom : 100, >> padding : padding, >> backgroundColor : backgroundColor, >> textColor : states.selected ? "text-selected" : undefined, >> decorator : states.lead ? "lead-item" : states.dragover ? >> "dragover" : "chatitem", >> opacity : states.drag ? 0.5 : undefined >> }; >> } >> } >> } >> }); >> >> Here is the decoration, i added a shadow border >> >> >> qx.Theme.define("vlistest.theme.Decoration", >> { >> extend : qx.theme.indigo.Decoration, >> >> decorations : >> { >> "chatitem": { >> style: { >> width: 0, >> shadowColor: "shadow", >> shadowBlurRadius: 1, >> widthBottom: 2, >> color: "rgb(217, 217, 217)", >> backgroundColor: "transparent" >> } >> } >> } >> }); >> >> On Tue, Aug 18, 2015 at 6:18 PM, Phyo Arkar <phyo.arkarl...@gmail.com> >> wrote: >> >> Thanks John , i am creating a new qooxdoo app to test it out. >>> >>> On Tue, Aug 18, 2015 at 5:51 PM, John Spackman <john-li...@zenesis.com> >>> wrote: >>> >>>> Not having used virtual before I’m shooting in the dark a bit here, but >>>> I can see from the demo browser (at >>>> http://demo.qooxdoo.org/devel/demobrowser/#virtual~List.html) that a >>>> List contains qx.ui.virtual.layer.WidgetCell and inside it is a >>>> qx.ui.form.ListItem. >>>> >>>> That means that you can change the gap layout using an appearance, in >>>> exactly the way as we both did earlier. The error you had before looks >>>> like whatever you were setting the appearance property of, it wasn’t a >>>> ListItem (were you setting WidgetCell.appearance instead?) >>>> >>>> John >>>> >>>> From: Phyo Arkar <phyo.arkarl...@gmail.com> >>>> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >>>> Date: Tuesday, 18 August 2015 12:08 >>>> >>>> To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >>>> Subject: Re: [qooxdoo-devel] Set margin between listitems >>>> >>>> So what i just need now : Able to set margin for listItems to increase >>>> Independant Gap between List Items, so that we can set on >>>> Decorators/Boxshadows on listitems without overlapping each other. >>>> >>>> That would be quite easy if a QOoxdoo Core Dev can Enlighten us. >>>> >>>> On Tue, Aug 18, 2015 at 2:37 PM, Phyo Arkar <phyo.arkarl...@gmail.com> >>>> wrote: >>>> >>>>> Thanks , the paddings works , but the margin dosen't >>>>> >>>>> on http://phwa.be , we hacked it by adding a component around the >>>>> list item , but that implemention is slow and when virtual listitems >>>>> resizes (images , video , etc) it dosen't resize sometimes. >>>>> >>>>> Thats why i am trying to see if Margin can be set between list items >>>>> (You can set Margin , but It never got effected , when look into inspector >>>>> , there is NO margin property set for list items , but any other widget is >>>>> fine , which is very weird). >>>>> >>>>> Paddings will just make list items wider , not like margin. >>>>> >>>>> On Tue, Aug 18, 2015 at 2:19 PM, John Spackman <john-li...@zenesis.com >>>>> > wrote: >>>>> >>>>>> Ah, I missed the bit about virtual lists, sorry. >>>>>> >>>>>> Yes, in Atom its the gap between the icon and the label; if you’re >>>>>> using a completely custom widget then the layouting inside the object is >>>>>> up >>>>>> to the widget, so you would have to tell that layout to move the text >>>>>> over. The margins and paddings on the widget would still work though >>>>>> (although I’ve not used the virtual widget I imagine that’s the case) >>>>>> >>>>>> John >>>>>> >>>>>> From: Phyo Arkar <phyo.arkarl...@gmail.com> >>>>>> Reply-To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >>>>>> Date: Tuesday, 18 August 2015 08:43 >>>>>> To: qooxdoo Development <qooxdoo-devel@lists.sourceforge.net> >>>>>> Subject: Re: [qooxdoo-devel] Set margin between listitems >>>>>> >>>>>> I think it is due to , not using atom. I am using custom widget. and >>>>>> Gap is only horizontal space between objects right? >>>>>> >>>>>> On Tue, Aug 18, 2015 at 2:12 PM, Phyo Arkar <phyo.arkarl...@gmail.com >>>>>> > wrote: >>>>>> >>>>>>> i am using virtual lis t(list.List) , is it because of that? >>>>>>> >>>>>>> going to test your code , thanks lots! >>>>>>> >>>>>>> On Tue, Aug 18, 2015 at 2:11 PM, Phyo Arkar < >>>>>>> phyo.arkarl...@gmail.com> wrote: >>>>>>> >>>>>>>> this.classname >>>>>>>> "qx.ui.core.queue.Manager" >>>>>>>> >>>>>>>> this.hf is undefined >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Tue, Aug 18, 2015 at 2:02 PM, Phyo Arkar < >>>>>>>> phyo.arkarl...@gmail.com> wrote: >>>>>>>> >>>>>>>>> >>>>>>>>> On Tue, Aug 18, 2015 at 1:57 PM, John Spackman < >>>>>>>>> john-li...@zenesis.com> wrote: >>>>>>>>> >>>>>>>>>> typeof hf >>>>>>>>>> >>>>>>>>> >>>>>>>>> Thanks , i am working on it. >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> _______________________________________________ qooxdoo-devel mailing >>>>>> list >>>>>> qooxdoo-devel@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------------ >>>>>> >>>>>> _______________________________________________ >>>>>> qooxdoo-devel mailing list >>>>>> qooxdoo-devel@lists.sourceforge.net >>>>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >>>>>> >>>>>> >>>>> >>>> ------------------------------------------------------------------------------ >>>> _______________________________________________ qooxdoo-devel mailing list >>>> qooxdoo-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >>>> >>>> >>>> ------------------------------------------------------------------------------ >>>> >>>> _______________________________________________ >>>> qooxdoo-devel mailing list >>>> qooxdoo-devel@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >>>> >>>> >>> >> ------------------------------------------------------------------------------ >> _______________________________________________ qooxdoo-devel mailing list >> qooxdoo-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >> >> >> ------------------------------------------------------------------------------ >> >> _______________________________________________ >> qooxdoo-devel mailing list >> qooxdoo-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel >> >> > ------------------------------------------------------------------------------ > _______________________________________________ qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > > ------------------------------------------------------------------------------ > > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > >
------------------------------------------------------------------------------
_______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel