WindowXML GUI Toolkit (replaces GUIBuilder for XBMC python scripts for GUI coding)

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
donno Offline
Team-XBMC Python Developer
Posts: 130
Joined: Jan 2005
Reputation: 0
Location: Australia
Post: #31
hmm wierd nano about the both onClick and onActionm ideally back and previous shouldn't be onControl (how ever i expect it may be a result of the usings lists maybe? because generally back on a list will cause the list to go back a directory). Will look into this further, thou i don't really see what real problem you would get.

Fixed: Something in the SetFocus (Spiff pointed it out)
Added: setFocusId(int id) and getFocusId(int id)
Fixed: media now looks in fallback\\skins\\media

The media was silly thing i missed when i changed it to do fallback\\skins.
I was getting some where glitches and exceptions today when running windowsXMl but then when i tried debug/vs they stopped.

Also Nuka mentioned something wrong with using lists with ids other then 50-59. I tried it today and they worked fine, i could add to them and get teh current position.

Im returting home for the break so i won't be able to do anything for two weeks. Feel free to fix stuff Smile

** Team XBMC Tester** XBMC 4 ever

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: #32
How about you post a sample script with lists working in dialogs and more than one list in windows with different info in each.

Maybe even do a sample script with every control working, then i can see what's going on here.

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #33
Hmm,

ok, refresh list is done via : self.refreshList()

get list poss is done via: self.getCurrentListPosition()

get the list item is done via: self.getListItem(self.getCurrentListPosition())

how about:

select item, size??

There needs to be more documentation, as using lists like controls stuffs the script when going between two windows, so donno's way of having the list as id 50 seems the only way to do a list that is reliable. I like having lists like this: self.list = self.getControl(67) , but this only causes troubles in the long run which sux. In Donno's example script, as soon as you make the list as I like doing it and change between two windows, XBMC_PC crashes. So, looks like doing all the self.addItem(xbmcgui.ListItem(etc etc which seems more confusing and doesn't appear to be able to do the two functions above.

Help?
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #34
you are correct, only lists within range 50-59 work on Windows not Dialogs.

Scripts like AMT with three lists all wth different information do not work currently.

So I'm stuck also, for now.

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #35
i did have a list using id 68 going fine, and i did the above : self.list = self.getControl(68), then i would use self.list.additem(etc etc), this worked great until i tried going between to winxml windows.
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #36
ok, i completely didn't understand that Smile

If you have an example of a script working with list controls outside of the builtin lists, could you please post it so i can test.

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #37
List for Donno of possible bugs in winxml:

1) Media fallback path when used on scrollbar textures does not work
PROBLEM = Can not use custom scrollbar textures (Need for Default skin)

2) Media fallback path does not work in winxml Dialog windows
PROBLEM = Can't create my dialog very well

3) Can not set thumbnails on list items.

Thats about if for now.

:-D
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #38
Nuka, find below a link to a script that Bootsy is writing, I helped him create a cool little fake 3 label list.

Its using three different lists in windowxml outside the builtin lists
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #39
Link:
http://xbmc-scripting.googlecode.com/svn...eScore.rar
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #40
only one button fills a list and the list selection stays highlighted, but it's a start.

I still don't see what i did different, but thanks, i'll play some more.

Edit: I was accessing the control only with self.getControl(4).addItem(""), that does not work. Should it?

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
(This post was last modified: 2007-04-10 17:01 by Nuka1195.)
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #41
thats just the type of list i used in the xml, so you still no what list item you are on when leaving the list - easily changable in the xml file. It was a quick example i did for the author of that script so didn't spend ages making it nice. But yeh, its using a non built in list (well 3 of them). I also in my XinBox script are using a combination of a builtin list + non-builting list, my main email list is a builtin list but my email dialog attachments list is a non-built-in list , and there seems to be no problem going between them at this stage.
find quote
Nuka1195 Offline
Skilled Python Coder
Posts: 3,910
Joined: Dec 2004
Reputation: 18
Post: #42
yup, i figured that out. I'm no skinner and never saw that before, thought it was a bug.

The only real issues i'm having now are:
1. Dialogs just dissapear at random times
2. fallback media path, it should be media inside the skins/skinname folder, i did a patch that does this, but as currently it doesn't work with dialogs.
3. onclick() event gets fired by other than select

For python coding questions first see http://mirrors.xbmc.org/docs/python-docs/
find quote
asg Offline
Member
Posts: 80
Joined: Nov 2005
Reputation: 0
Post: #43
mixing windowxml style list and old traditional listitems works fine here. thanks for this "simple" solution stanley Smile

a function to reformat the list (label,label2..) without just clear and rebuild the list would be great. alter single list items would also be nice.

is the WindowClose animation implemented yet?

great work. thanks
asciii
find quote
asg Offline
Member
Posts: 80
Joined: Nov 2005
Reputation: 0
Post: #44
Nuka1195 Wrote:3. onclick() event gets fired by other than select

could you post an example? works fine here with controlIDs.
find quote
matthuisman Offline
Skilled Python Coder
Posts: 601
Joined: Sep 2006
Reputation: 5
Location: Chch, New Zealand
Post: #45
Nuka1195 Wrote:yup, i figured that out. I'm no skinner and never saw that before, thought it was a bug.

The only real issues i'm having now are:
1. Dialogs just dissapear at random times
2. fallback media path, it should be media inside the skins/skinname folder, i did a patch that does this, but as currently it doesn't work with dialogs.
3. onclick() event gets fired by other than select

1) I have a problem where every now and again my dialog flashes, it doesnt stuff the script, Navigation works etc, but it doesn't stop flashing until another gui function is activated.

2) I sort of told donno to make it so one media folder for all. Could be changed if needed.

3) I noticed this too but bypassed using onacation and getfocus etc.
find quote
Post Reply