On Friday 01 April 2005 16.52, dunk wrote:
> Hi,
>
> > Another issue i have is that i am using pudding and raypicking. I have
> > tried to remove all events (soya.IDLER.events.pop()) after eighter the
> > menu and the raypicking event has been invoked. But it still does the
> > raypicking and the menu selection. Would it be a possibility to return
> > the pudding selection in raypicking?
>
> with the console down i get no picking. with it up i do. are you not
> using the pudding in soya-contrib?
I've just checked it out again and installed pudding from soya-contrib. The
menuoptions and the console input is now not selectable when visible is
False.
The picking problem partially still exist:
When i have the following code enabled (in interface_v002.py, class
MenuOption) objects behind the menu are still pickable:
def process_event(self, event):
# process events
pudding.core.InputControl.process_event(self, event)
If its commented out things behind the menu are will not be processed by the
raypicking.
But all raypickings is done behind the console and the panel window.
> > All of the things i have listed are in a "framework" which can be
> > downloaded under:
> > http://www.nouser.org/nouserorg/content/e219/e313/e322/index_ger.html
> > If anybody has some ideas how to improve it mail me.
>
> seems good except i have no idea what key is you set to hide/show the
> console :) i changed it to tab using sdlconst.K_TAB. using constants is
> much better. look here to get a complete list
> http://cvs.gna.org/viewcvs/soya/soya/sdlconst.pyx?rev=1.3&content-type=text
>/vnd.viewcvs-markup
I've changed it (the key is probably only found on swiss-german keyboards).
Another issue i have is that when i create a pudding.control.Box and want to
add multiple Labels and Buttons to it, only the first one is showed. It would
be useful to be able to add multiple, because of positioning issues. Maybe im
doning it wrong myself. (it's in the downloadable source commented out under
initInterface).
Some console stuff im confused about. When i try to write something like the
following in the console it allways gibes me an invalid syntax error.
for i in xrange(10):
print i
And printing a multiline text writes \n instead of a realy carriage return.
The latest error described focan be fixed by changeing python_console.py:
replace:
from code import InteractiveInterpreter
to:
from code import InteractiveConsole
the function on_return must be changed as well:
def on_return(self):
""" run the command if its complete """
self.write(">>> %s\n" % self.input.value)
if self.interpreter.push(self.input.value):
pass
self.input.clear()
I have not tested this very well, but its resolving my described issues.
Reto
--
Reto Spoerri : http://www.nouser.org/
Mousecam : http://www.knoppix.tv/