Controllist navigation

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
BigBellyBilly Offline
Skilled Python Coder
Posts: 900
Joined: Feb 2005
Reputation: 2
Location: UK
Post: #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
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #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]
find quote
BigBellyBilly Offline
Skilled Python Coder
Posts: 900
Joined: Feb 2005
Reputation: 2
Location: UK
Post: #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
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #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]
find quote
BigBellyBilly Offline
Skilled Python Coder
Posts: 900
Joined: Feb 2005
Reputation: 2
Location: UK
Post: #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
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #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]
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #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]
find quote
BigBellyBilly Offline
Skilled Python Coder
Posts: 900
Joined: Feb 2005
Reputation: 2
Location: UK
Post: #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.
find quote
jmarshall Offline
Team-XBMC Developer
Posts: 26,181
Joined: Oct 2003
Reputation: 175
Post: #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]
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #10
again, thanks. Smile

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #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!
find quote
solexalex Offline
Skilled Python Coder
Posts: 706
Joined: Jul 2004
Reputation: 6
Post: #12
yeah ! it rocks !
find quote
NewNole2001 Offline
Junior Member
Posts: 48
Joined: Sep 2005
Reputation: 0
Post: #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:
find quote
Asteron Offline
"Skilled" Python Coder
Posts: 928
Joined: Feb 2004
Reputation: 0
Post: #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
find quote
NewNole2001 Offline
Junior Member
Posts: 48
Joined: Sep 2005
Reputation: 0
Post: #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
find quote