Controllist navigation
#1
hi,

this is not a new subject, infact i've posted about it before myself and one of the developers had ago at correcting it.

the problem, as i see it, is that setting controlright() on a controllist. it never moves from the controllist to the assigned next control, it simply moves to the spin control then back to the same list. shouldn't it move onto the assigned next control after the spin control ?

setting controlleft, does move directly to the assigned control.

personally, i dont see the need for the spin controls to exist at all. but, can someone tell me if this navigation movement is as its supposed to be or is still faulty ?

thanks
Reply
#2
go into my music songs view, view as list. move right. it'll move onto the spin control if it's enabled, then moving right again moves onto the left panel (due to the fact that <onright> is set to the left panel).

seems to be working perfectly.

and now the spincontrols are not shown if they're not needed (eg if there's less than a page filled in). this will be committed in a few hours with any luck (just waiting on tests of some other stuff)

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
Reply
#3
jonathan,

thanks for once again looking into this.
i've re edited this post after giving some more thought about your answer.

by 'left panel' i now assume you mean the left of the two spin control arrows ?

so, the list movment is indeed. list item -> left spin control -> right spin control -> list item

could you explain how i get it to move right off the spin control onto a new control conponent? as at present only controlleft seems to achieve that.


also, in a script are either of these possible;

a) have the spin control appear on the right of a single item height list - just like in the main xbmc ?

b) have an option to not have the spin controls visible at all ?

thanks
Reply
#4
nope. the interface isn't available. the single height lists are actually spin control's with modification to incorporate a focused texture that includes the label + values of the spincontrol. (it's spincontrolex). and the switch for turning off the spin controls isn't available to python.

i'll have a quick look at the control list code, but i assume it is performing identical to the skin code (all it has to do is call setnavigation() and the list control takes care of the rest)

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
Reply
#5
i've edited my above post as i now have a better understanding of your previous explanation.

but, in a nutshell, we need to be able to controlright off the controllist completly onto 'a n other' component.

any work in this area would be a big help to scripters using lcontrollists.

cheers
Reply
#6
ok, by the looks the python interface is doing something funny with the spincontrol (it looks as though there's a separate spincontrol object created, but this isn't hooked in to the listcontrol - looks as if it was a work in progress). am building debug atm to see what happens in the few scripts i have.

the control movement should work as follows:

move left off list: goes straight to the onleft control.
move right off list: goes to the spincontrol "page down" button if applicable, else goes to the spincontrol "page up" button, else goes to the onright control.
move right off "page down" button - goes to "page up" button if applicable, else goes to the onright control.
move right off "page up" button - goes to the onright control.

this works perfectly in xbmc - there's obviously something getting in the way of the setting of the onright control via python.

cheers,
jonathan
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
Reply
#7
found the little critter i think. problem was that setnavigation() wasn't a virtual function in the base class, so it never called the list's overriding function for nav control. skin wasn't effected by this as we cast to the control type before calling the setnavigation() command.

edit: yeah, that was it. will commit the fix today.



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
Reply
#8
that is good news. i thought it was just me not coding it correctly.

you say the 'turn off spin control' isnt exposed to python, would it be possible to make it so ?

much appreciated.
Reply
#9
done.



Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


[Image: badge.gif]
Reply
#10
again, thanks. Smile
For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
Reply
#11
Quote: - 14-06-2005 added: cguilistcontrol::setpagecontrolvisible() exposed to python.
- 14-06-2005 fixed: navigation off the right of list/thumb controls was not functioning.
- 14-06-2005 changed: spin control only shows in thumb/list controls if more than 1 page exists.

beautiful stuff! thanks!
Reply
#12
yeah ! it rocks !
Reply
#13
how do i call this function? i can't find anything in the documentation on how to set the pagecontrol to not be visible in python. please help :help:
Reply
#14
Quote: "setpagecontrolvisible(bool ison) -- sets the spin control visible or hidden.\n"
"\n"
"ison : true if visible, false if hidden" );
so do

list.setpagecontrolvisible(false)

they should update the docs but in the mean time you can always browse the cvs
http://cvs.sourceforge.net/viewcvs....=markup

edit:
meant to post this one
http://cvs.sourceforge.net/viewcvs....ew=auto
but looks like the above was good too. Smile



Reply
#15
i have been looking for that exact cvs file for the past week. thank you so much for sending me the link!!!

:bowdown: :bowdown: :bowdown: :bowdown: :bowdown:

yeah, i'm that happy
Reply
 
Thread Rating:
  • 0 Vote(s) - 0 Average



Logout Mark Read Team Forum Stats Members Help
Controllist navigation00