Onscreen IDE & dynamic instant update [_v0.5.4_]

This is really looking awesome.

David

Thank you! This tool has saved me a lot of time.

Thanks, all.
I still can’t believe that subprocess bug, I thought it’s already mature.

Thanks, its awesome :slight_smile:

[size=150][v0.4.1][/size]
[X]
switched SceneGraph browser’s tooltips and node properties render order
[X] fixed file location tooltip render order against the caret
[X] fixed file location tooltip removal on file close
[X] fixed PStats client-server connection failure due to unnecessary kill call
[X] fixed selection BG removal in reverting to a save point
[X] position of SceneGraph browser and node properties are now remembered
[X] added a little visual enhancement
[X] added manual & automatic software update (via Preferences window), so you can easily check it out anytime you want without monitoring this thread

great. keep it up.

[size=150][v0.4.2][/size]
[X]
fixed SceneGraphBrowser’s page up/down and scroll irresponsiveness if active over scene
[X] improved SceneGraphBrowser items generation time, now each item is created at the first time it’s visible in the frame
[X] adjusted SceneGraphBrowser’s colors to be exactly as codes list’s, so it follows your color preferences
[X] added context menu to SceneGraphBrowser items, some node types have different additional menu items
[X] added hidden, tag, and render mode icon to SceneGraphBrowser items
[X] added SceneGraphBrowser root selection
[X] replaced taskkill with os._exit on Windows
[X] now closing P3D window (normally) is redirected to the usual IDE shutdown, so you won’t lose any unsaved work

[size=150][v0.4.3][/size]
[X]
fixed import completion of new (unsaved) file
[X] fixed unhandled SystemExit
[X] changed a module filename
[X] instantiating ShowBase by yourself is now supported
[X] all IDE modules are now protected from being rebound on reload, in case they’re opened due to an error
[X] SceneGraphBrowser items’ rollover color is now auto-set to the inverted BG color as you change it via Preferences

[size=150][v0.4.4][/size]
[X]
fixed multiple exit responses upon normally closing the P3D window
[X] fixed exit response upon closing the P3D window to jump back to IDE first, if you’re at your scene
[X] fixed Welcome Screen window’s sort order to the topmost, so it doesn’t lose keyboard focus on different desktop visual effects setting
[X] caret is hidden if P3D window loses focus, and shown if regains focus

[size=150][v0.4.5][/size]
[X]
fixed Pstats spawn due to unclear path

[v0.4.6]
[X]
removed TextDrawer build scripts from updates record, since each user may use different paths, so any change to those files won’t invalidate the IDE status
[X] os._exit is now also redirected to IDE shutdown, so it won’t directly shutdown python

[size=150][v0.4.7][/size]
[X]
os.path.getmtime doesn’t always work if called regularly, then I switched to os.stat, so the file change monitor now works correctly

Hi ,
what version python and wxPython should I install?
Thanks

WxPython 2.8.x is good, and use python version shipped with your P3D SDK.

Hi,

I am a big fan of the idea of this project. Good idea, and very good to handle this IDE!

EDIT: NO BUG, my failure :wink:

Read my 1st post carefully, and you’ll find this :

RESTRICTION <1> :
In your main script, you have to protect your World instantiation, because it’s done by the IDE.
This is a sample of it :

if __name__=='__main__': 
   print '\n', '@'*10, "\n  I'M PROCESSED !!!\n", '@'*10 
   if not hasattr(help,'IDE'): 
      World() 
   run()

So you must isolate World instantiation so it won’t be done twice each time you update the scene. The rest of your code will be executed normally.
World instantiation is done by the IDE, to isolate the instance, to ease the pain when searching for the must-be-destroyed class instances.
The run() call is safe and meaningless when you use the IDE, since it’s redirected to a dummy run() function.
The test scene is not already use this blocker, so add it yourself.

But, in case you need to instantiate it yourself, save the instance in global namespace as “winst”, like this :

if __name__=='__main__': 
   winst = World( arg1,arg2,etc. ) 
   run()

RESTRICTION <2> :
If you leave World instantiation to the IDE, you should name the class “World”.
Note that you don’t need to have a World class to instantiate. If you’re trying some very simple modules, you can just do everything in module global namespace.

so sorry.
and thanks for fast reply, i have searched on last pages, becase i was think this is a bug :slight_smile:

new class-name and works fine :wink:

[size=150][v0.4.8][/size]
[X]
fixed bookmarks removal upon clearing log
[X] fixed caret position restoration after trying to look for possible function call tips on the previous lines and there is none
[X] added exception handling on Pstats kill, if PStats server was stopped by user
[X] added shell=True to Popen call, so it works as it should without editing the source
[X] added error stopper by disabling the erroneous function, in case it’s ran every frame and not necessarily a task, so traceback flood won’t happen again

Hi,

I was looking for a python IDE to be used for Panda3D.
Then I stumbled into this thread. It looks really great!

But I have no idea how to set this up. I’m sorry, but I’m rather new to Panda3D and Python.
Is there any documentation how to start with this IDE?

It’s right in my 1st post.
Put all the zip files in a new directory and extract them all, and run IDE_STARTER.pyw with python.
On Windows, be sure to use the correct /TD/TD.dll for your P3D version.