Re: [ocemp-devel] Style Error
Status: Beta
Brought to you by:
marcusva
From: Marcus v. A. <ma...@sy...> - 2006-03-08 10:00:32
|
On, Mon Mar 06, 2006, Mr Mond wrote: > Hi >=20 > Using the following code as my style file: >=20 >=20 > from ocempgui.widgets import Constants > from pygame.locals import * >=20 > dark_red =3D Color("DarkRed")[:3] > red =3D Color("Red")[:3] [...] >=20 > Gives the following error: >=20 >=20 > ... > File "E:\Python24\Lib\site-packages\ocempgui\widgets\Style.py", line 33= 0, > in load > for key in widget: > TypeError: iteration over non-sequence > >=20 > I'm using version 0.1.2. >=20 > What's wrong with the style code? Style files are currently limited to the following syntax only: widgetclassname =3D { style_entry : { value(s) } } This makes it currently impossible to use anything else besides a) the widget class names and non-variable arguments/values b) the 'import ocempgui.widgets.Constants' directive. So using an 'import foo' or 'from bar import *' is likely to fail as well as variable definitions and assignments are.=20 Yep, pretty lousy when it comes to such cases at the moment. There were other priorities when 0.1.x was developed and only a minimum set of necessities for a runtime style handling (give me a few more days for other clumsy excuses here ;-). I guess, that should become a necessary task for 0.2.x. If this is a show stopper for you however, tell me and I'll make up a fix for that in a few days. > Is it possible to set the background of widgets to be transparent? Not without implementing an own draw() method for the specified widget in 0.1.x and some tweaks here and there. 0.2.x will have limited support for that due to its different background handling (if you want more details on that issue and how that stuff is currently done, please tell me). > How can I change where the text of an ImageButton is placed? Override the ImageButton's draw() method in your own ImageButton implementation or set up an own Style object with your specific draw_imagebutton() method and bind it to the base.GlobalStyle variable. More details on that and a short example can be found in the manual. If you do so, I recommend you to look at the code in Style.draw_imagebutton() and ImageButton.draw() to get a quick overview, how it is currently done. Basically you just have to modify the blitting rectangle values for the text. Regards Marcus |