From: <qr...@us...> - 2006-12-09 20:06:24
|
Revision: 269 http://svn.sourceforge.net/opengate/?rev=269&view=rev Author: qrstuvw Date: 2006-12-09 12:06:23 -0800 (Sat, 09 Dec 2006) Log Message: ----------- Moved the old source from revision 262 to new directories Revision Links: -------------- http://svn.sourceforge.net/opengate/?rev=262&view=rev Added Paths: ----------- branches/old/ branches/old/AUTHORS branches/old/COPYING branches/old/ChangeLog branches/old/Doxyfile branches/old/INSTALL branches/old/Makefile.am branches/old/Makefile.cvs branches/old/Makefile.in branches/old/NEWS branches/old/README branches/old/TODO branches/old/aclocal.m4 branches/old/autogen.sh branches/old/autom4te.cache/ branches/old/config.guess branches/old/config.h.in branches/old/config.sub branches/old/configure branches/old/configure.in branches/old/debug/ branches/old/debug/GFX.log branches/old/debug/GUI.log branches/old/debug/Graphics.xml branches/old/debug/RenderEngine.log branches/old/debug/Resources.xml branches/old/debug/data/ branches/old/debug/data/Faction/ branches/old/debug/data/Rankings/ branches/old/debug/data/Ships/ branches/old/debug/data/Ships/Conflux/ branches/old/debug/data/Ships/Conflux/C-0/ branches/old/debug/data/Ships/Conflux/C-1/ branches/old/debug/data/Ships/Conflux/C-2/ branches/old/debug/data/Ships/Conflux/C-3/ branches/old/debug/data1.x/ branches/old/debug/data1.x/GUI/ branches/old/debug/data1.x/GUI/BlueHighway-10.font branches/old/debug/data1.x/GUI/BlueHighway-12.font branches/old/debug/data1.x/GUI/BlueHighway.ttf branches/old/debug/data1.x/GUI/OpenGate.looknfeel branches/old/debug/data1.x/GUI/OpenGateLook.imageset branches/old/debug/data1.x/GUI/OpenGateLook.scheme branches/old/debug/data1.x/GUI/OpenGateLook.tga branches/old/debug/data1.x/GUI/OpenGateLook.xcf branches/old/debug/data1.x/Materials/ branches/old/debug/data1.x/Materials/skybox.material branches/old/debug/data1.x/Materials/skybox.zip branches/old/debug/doc/ branches/old/debug/src/ branches/old/debug/src/client/ branches/old/debug/src/client/ui/ branches/old/debug/src/common/ branches/old/debug/src/common/components/ branches/old/debug/src/common/equipment/ branches/old/debug/src/common/objects/ branches/old/debug/src/deps/ branches/old/debug/src/deps/tinyxml/ branches/old/debug/src/server/ branches/old/depcomp branches/old/install-sh branches/old/ltmain.sh branches/old/missing branches/old/mkinstalldirs branches/old/opengate.kdevelop branches/old/opengate.kdevelop.pcs branches/old/opengate.kdevses branches/old/src/ branches/old/src/Makefile.am branches/old/src/client/ branches/old/src/client/CFunctions.h branches/old/src/client/GameManager.cpp branches/old/src/client/GameManager.h branches/old/src/client/GameState.h branches/old/src/client/GameStateManager.cpp branches/old/src/client/GameStateManager.h branches/old/src/client/Global.h branches/old/src/client/Makefile.am branches/old/src/client/network.cpp branches/old/src/client/network.h branches/old/src/client/network_meta.cpp branches/old/src/client/network_meta.h branches/old/src/client/ui/ branches/old/src/client/ui/ActionConfig.cpp branches/old/src/client/ui/ActionConfig.h branches/old/src/client/ui/ActionMap.cpp branches/old/src/client/ui/ActionMap.h branches/old/src/client/ui/Console.cpp branches/old/src/client/ui/Console.h branches/old/src/client/ui/GUIManager.cpp branches/old/src/client/ui/GUIManager.h branches/old/src/client/ui/Graphics.cpp branches/old/src/client/ui/Graphics.h branches/old/src/client/ui/InputManager.cpp branches/old/src/client/ui/InputManager.h branches/old/src/client/ui/IntroState.h branches/old/src/client/ui/MainMenu.cpp branches/old/src/client/ui/MainMenu.h branches/old/src/client/ui/Makefile.am branches/old/src/client/ui/Makefile.in branches/old/src/client/ui/OpenGateConsole.cpp branches/old/src/client/ui/OpenGateConsole.h branches/old/src/client/ui/PlayState.cpp branches/old/src/client/ui/PlayState.h branches/old/src/client/ui/application.cpp branches/old/src/client/ui/application.h branches/old/src/client/ui/avatar.h branches/old/src/client/ui/camera.h branches/old/src/client/ui/framelistener.cpp branches/old/src/client/ui/framelistener.h branches/old/src/common/ branches/old/src/common/Makefile.am branches/old/src/common/Mutex.h branches/old/src/common/Posix/ branches/old/src/common/Posix/Mutex.h branches/old/src/common/Posix/Semaphore.h branches/old/src/common/Posix/Thread.h branches/old/src/common/Semaphore.h branches/old/src/common/Thread.h branches/old/src/common/Win32/ branches/old/src/common/Win32/Mutex.h branches/old/src/common/Win32/Semaphore.h branches/old/src/common/Win32/Thread.h branches/old/src/common/Win32/Win32.h branches/old/src/common/company.cpp branches/old/src/common/company.h branches/old/src/common/company_storage.cpp branches/old/src/common/company_storage.h branches/old/src/common/components/ branches/old/src/common/components/Makefile.am branches/old/src/common/components/component.cpp branches/old/src/common/components/component.h branches/old/src/common/equipment/ branches/old/src/common/equipment/Makefile.am branches/old/src/common/equipment/capacitor.cpp branches/old/src/common/equipment/capacitor.h branches/old/src/common/equipment/ecm.cpp branches/old/src/common/equipment/ecm.h branches/old/src/common/equipment/engine.cpp branches/old/src/common/equipment/engine.h branches/old/src/common/equipment/equipment.cpp branches/old/src/common/equipment/equipment.h branches/old/src/common/equipment/gun.cpp branches/old/src/common/equipment/gun.h branches/old/src/common/exception.cpp branches/old/src/common/exception.h branches/old/src/common/faction.cpp branches/old/src/common/faction.h branches/old/src/common/faction_storage.cpp branches/old/src/common/faction_storage.h branches/old/src/common/gamestate.cpp branches/old/src/common/gamestate.h branches/old/src/common/loader.cpp branches/old/src/common/loader.h branches/old/src/common/network_protocol.h branches/old/src/common/objects/ branches/old/src/common/objects/Makefile.am branches/old/src/common/objects/hurtable_object.cpp branches/old/src/common/objects/hurtable_object.h branches/old/src/common/objects/movable_object.cpp branches/old/src/common/objects/movable_object.h branches/old/src/common/objects/object.cpp branches/old/src/common/objects/object.h branches/old/src/common/objects/ship.cpp branches/old/src/common/objects/ship.h branches/old/src/common/objects/station.cpp branches/old/src/common/objects/station.h branches/old/src/deps/ branches/old/src/deps/Makefile.am branches/old/src/deps/Makefile.in branches/old/src/deps/tinyxml/ branches/old/src/deps/tinyxml/Makefile.am branches/old/src/deps/tinyxml/Makefile.in branches/old/src/deps/tinyxml/tinyxml.cpp branches/old/src/deps/tinyxml/tinyxml.h branches/old/src/deps/tinyxml/tinyxmlerror.cpp branches/old/src/deps/tinyxml/tinyxmlparser.cpp branches/old/src/ogre.cfg branches/old/src/opengate_client.cpp branches/old/src/opengate_server.cpp branches/old/src/plugins.cfg branches/old/src/resources.cfg branches/old/src/server/ branches/old/src/server/Makefile.am branches/old/src/server/network.cpp branches/old/src/server/network.h branches/old/src/server/network_meta.cpp branches/old/src/server/network_meta.h branches/old/templates/ branches/old/templates/cpp branches/old/templates/data/ branches/old/templates/data/GUI/ branches/old/templates/data/GUI/docked/ branches/old/templates/data/GUI/docked/Caption.txt branches/old/templates/data/GUI/docked/Kabel.txt branches/old/templates/data/GUI/docked/Rahmenteile.txt branches/old/templates/data/GUI/docked/Schrauben.txt branches/old/templates/data/GUI/docked/base/ branches/old/templates/data/GUI/docked/base/Opengate logo.png branches/old/templates/data/GUI/docked/base/base background.PspSelection branches/old/templates/data/GUI/docked/base/blue plastic.png branches/old/templates/data/GUI/docked/base/buttons/ branches/old/templates/data/GUI/docked/base/buttons/5_points/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/background/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/background/center.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/background/complete.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/background/left.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/background/right.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/english/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/english/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/english/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/german/ branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/german/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/1/caption/german/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/ branches/old/templates/data/GUI/docked/base/buttons/5_points/2/background/ branches/old/templates/data/GUI/docked/base/buttons/5_points/2/background/center.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/background/complete.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/background/left.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/background/right.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/ branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/english/ branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/english/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/english/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/german/ branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/german/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/2/caption/german/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/ branches/old/templates/data/GUI/docked/base/buttons/5_points/3/background/ branches/old/templates/data/GUI/docked/base/buttons/5_points/3/background/center.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/background/complete.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/background/left.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/background/right.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/caption/ branches/old/templates/data/GUI/docked/base/buttons/5_points/3/caption/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/3/caption/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/ branches/old/templates/data/GUI/docked/base/buttons/5_points/4/background/ branches/old/templates/data/GUI/docked/base/buttons/5_points/4/background/center.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/background/complete.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/background/left.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/background/right.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/ branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/english/ branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/english/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/english/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/german/ branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/german/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/4/caption/german/selected.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/ branches/old/templates/data/GUI/docked/base/buttons/5_points/5/background/ branches/old/templates/data/GUI/docked/base/buttons/5_points/5/background/center.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/background/complete.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/background/left.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/background/right.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/caption/ branches/old/templates/data/GUI/docked/base/buttons/5_points/5/caption/normal.png branches/old/templates/data/GUI/docked/base/buttons/5_points/5/caption/selected.png branches/old/templates/data/GUI/docked/base/buttons/grey/ branches/old/templates/data/GUI/docked/base/buttons/grey/mousedown.png branches/old/templates/data/GUI/docked/base/buttons/grey/mouseup.png branches/old/templates/data/GUI/docked/base/display.png branches/old/templates/data/GUI/docked/base/guard of honor.png branches/old/templates/data/GUI/docked/base/head of a bolt 1.png branches/old/templates/data/GUI/docked/base/head of a bolt 2.png branches/old/templates/data/GUI/docked/base/head of a bolt 3.png branches/old/templates/data/GUI/docked/base/head of a bolt 4.png branches/old/templates/data/GUI/docked/base/head of a bolt.png branches/old/templates/data/GUI/docked/base/market/ branches/old/templates/data/GUI/docked/base/market/buttons/ branches/old/templates/data/GUI/docked/base/market/buttons/accept.pspimage branches/old/templates/data/GUI/docked/base/market/buttons/akzeptieren.pspimage branches/old/templates/data/GUI/docked/base/market/buttons/change_quantity.pspimage branches/old/templates/data/GUI/docked/base/market/buttons/nicht_jetzt.pspimage branches/old/templates/data/GUI/docked/base/market/buttons/not_now.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/ branches/old/templates/data/GUI/docked/base/market/green_backgrounds/cargo_status.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/categories.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/infobox.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/item/ branches/old/templates/data/GUI/docked/base/market/green_backgrounds/item/background_bottom.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/item/detailed_info/ branches/old/templates/data/GUI/docked/base/market/green_backgrounds/item/detailed_info/border_and_filling.pspimage branches/old/templates/data/GUI/docked/base/market/green_backgrounds/item/detailed_info/item_border_and_filling.pspimage branches/old/templates/data/GUI/docked/base/market/icos/ branches/old/templates/data/GUI/docked/base/market/icos/categories/ branches/old/templates/data/GUI/docked/base/market/icos/categories/Capacitor.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/ECM.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Gun.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Missile.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Modification.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Private storage room.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Radar.pspimage branches/old/templates/data/GUI/docked/base/market/icos/categories/Shield.pspimage branches/old/templates/data/GUI/docked/base/php/ branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/ branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/algorithmen/ branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/algorithmen/bearbeiten.php branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/algorithmen/functions.php branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/algorithmen/laden.php branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/bild_resultat.png branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/index.php branches/old/templates/data/GUI/docked/base/php/halbtransparenz erzeugen/vorgabe.png branches/old/templates/data/GUI/docked/base/php/logo erzeugen/ branches/old/templates/data/GUI/docked/base/php/logo erzeugen/algorithmen/ branches/old/templates/data/GUI/docked/base/php/logo erzeugen/algorithmen/functions.php branches/old/templates/data/GUI/docked/base/php/logo erzeugen/algorithmen/laden.php branches/old/templates/data/GUI/docked/base/php/logo erzeugen/algorithmen/zeichnen.php branches/old/templates/data/GUI/docked/base/php/logo erzeugen/datensaetze/ branches/old/templates/data/GUI/docked/base/php/logo erzeugen/datensaetze/solrain.php branches/old/templates/data/GUI/docked/base/php/logo erzeugen/index.php branches/old/templates/data/GUI/docked/base/php/logo erzeugen/test.htm branches/old/templates/data/GUI/docked/base/surrounding/ branches/old/templates/data/GUI/docked/base/surrounding/bottom/ branches/old/templates/data/GUI/docked/base/surrounding/bottom/air_lock/ branches/old/templates/data/GUI/docked/base/surrounding/bottom/air_lock/bottom.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/air_lock/complete.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/air_lock/top.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/simulatorsign/ branches/old/templates/data/GUI/docked/base/surrounding/bottom/simulatorsign/english.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/simulatorsign/german.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/ branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/complete.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/layer1.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/layer2.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/layer3.png branches/old/templates/data/GUI/docked/base/surrounding/bottom/solid/layer4.png branches/old/templates/data/GUI/docked/base/surrounding/top/ branches/old/templates/data/GUI/docked/base/surrounding/top/station_commlink_access.png branches/old/templates/h Added: branches/old/AUTHORS =================================================================== --- branches/old/AUTHORS (rev 0) +++ branches/old/AUTHORS 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1 @@ +Christoph Brill <eg...@us...> Property changes on: branches/old/AUTHORS ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/COPYING =================================================================== --- branches/old/COPYING (rev 0) +++ branches/old/COPYING 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1 @@ +link /usr/share/automake-1.9/COPYING \ No newline at end of file Property changes on: branches/old/COPYING ___________________________________________________________________ Name: svn:special + * Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/ChangeLog =================================================================== --- branches/old/ChangeLog (rev 0) +++ branches/old/ChangeLog 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1,197 @@ +2006-10-28 Christoph Brill <eg...@us...> + + * data/Faction/solrain.xml: add XML for factions, update dtd + accordingly + +2006-10-26 Christoph Brill <eg...@us...> + + * doc/coding-style: add information about the coding style of opengate + + * src/common/objects/hurtable_object.h, + src/common/objects/hurtable_object.cpp, src/common/objects/object.h, + src/common/objects/object.cpp: add hurtable object and document object + + * src/server/network_meta.cpp: add method for checking the version + against the metaserver + +2006-10-24 Christoph Brill <eg...@us...> + + * src/opengate_client.cpp: add commandline parsing and parameters for + login + +2006-10-23 Christoph Brill <eg...@us...> + + * src/common/company.cpp, src/common/company.h, + src/common/objects/station.cpp, src/common/objects/station.h: more + XML-loading-work + + * src/common/faction.h, src/common/faction_storage.h: doxygen for + documentation + +2006-10-18 Christoph Brill <eg...@us...> + + * src/server/network_meta.cpp, src/server/network_meta.h: try porting + the login mechanism to the new server-infrastructure without success + +2006-09-02 Christoph Brill <eg...@us...> + + * src/server/network.h, src/server/network.cpp, + src/server/network_meta.h, src/server/network_meta.cpp: start method + for checking the servers version against the meta server + +2006-09-02 Christoph Brill <eg...@us...> + + * src/server/network.h, src/server/network.cpp: handle + client login and quit request + + * src/common/network_protocol.h: add first codes for client and server + communication + + * src/client/network.h, src/client/network.cpp, + src/opengate_client.cpp: send login to server and quit when client + quits + +2006-08-30 Christoph Brill <eg...@us...> + + * src/server/network_meta.h, src/server/network_meta.cpp: add method + to authenticate against the meta-server + + * src/opengate_server.cpp: test method for authentication + +2006-08-27 Christoph Brill <eg...@us...> + + * configure.in: add support for libgrapple, add support for libxml2 + + * src/client/network.h, src/client/network.cpp, src/server/network.h, + src/server/network.cpp: drop SDL_net in favour of libgrapple + + * src/opengate-server.cpp: add polling server (1s interval for test + purposes) + + * src/opengate-client.cpp: connect to the server and send a message + + * configure.in: fix libxml2 support + + * src/opengate-server.cpp: start work on connection to metaserver + +2006-07-30 Christoph Brill <eg...@us...> + + * src/client/input: drop old handmade inputsystem + + * src/client/ui: add new OIS based input system + +2006-07-17 Christoph Brill <eg...@us...> + + * data/opengate.dtd: extend for ship validation + + * src/common/loader.cpp, src/common/loader.h: improve loader for + array loading + + * src/common/equipment/guns/gun.cpp. src/common/equipment/guns/gun.h: + add empty structure for gun + + * src/common/equipment/engine/money.cpp, + src/common/equipment/engine/money.h: remove useless class + + * src/common/equipment/engine/engine.cpp, + src/common/equipment/engine/engine.h: merge capabilities of class + Money (setting the filename) + + * src/common/ships/ship.cpp, src/common/ships/ship.h: add working + loader and add most of the attributes (including Engine, ECM, etc.) + +2006-07-16 Christoph Brill <eg...@us...> + + * src/server/network.cpp, src/client/network.cpp, + src/opengate_client.cpp, src/common/company.cpp, + src/common/loader.cpp, src/common/faction.cpp, + src/common/exception.cpp, src/common/faction_storage.cpp, + src/common/company_storage.cpp, src/common/objects/movable_object.cpp, + src/common/objects/object.cpp, src/common/objects/ships/ship.cpp, + src/common/components/component.cpp, + src/common/equipment/equipment.cpp, + src/common/equipment/engines/engine.cpp, + src/common/equipment/engines/money.cpp, + src/common/equipment/ecms/ecm.cpp, src/opengate_server.cpp, + src/server/network.h, src/client/network.h, + src/common/company_storage.h, src/common/loader.h, + src/common/company.h, src/common/faction.h, src/common/exception.h, + src/common/faction_storage.h, src/common/objects/object.h, + src/common/objects/movable_object.h, src/common/objects/ships/ship.h, + src/common/components/component.h, src/common/equipment/equipment.h, + src/common/equipment/engines/engine.h, + src/common/equipment/engines/money.h, src/common/equipment/ecms/ecm.h: + sync with loader branch and add a simple XML-parser plus an engine + that is loaded using it. Introduces validation based on DTD and a + valid DTD for equipment and ships. + + +2006-04-17 Christoph Brill <eg...@us...> + + * src/input.cpp, include/input.h, src/keyboard.cpp, + include/keyboard.h, src/mouse.cpp, include/mouse.h, framelistener.cpp: + add generic interface for input devices (can be used in the planed + input manager) + +2006-04-16 Christoph Brill <eg...@us...> + + * src/movable_object.cpp, include/movable_object.h: introduce an + abstract class for moving objects by keyboard/mouse(/joystick) + +2006-04-15 Christoph Brill <eg...@us...> + + * src/gamestate.cpp, include/gamestate.h: add a simple gamestate for + introducing a CEGUI based UI + + * src/camera.cpp, include/camera.h, src/framelistener.cpp, + framelistner.h: split the camera into own files to strip the + framelistener down to a minimum + + * srC/keyboard.cpp, include/keyboard.h, src/mouse.cpp, src/mouse.h, + src/framelistener.cpp: split the keyboard and mouse to separate files + +2006-04-10 Christoph Brill <eg...@us...> + + * src/framelistener.cpp: add keybindings to movement + + * src/avatar.cpp, src/avatar.h: implement movement based on orientation + of the ship + + * src/avatar.cpp, src/avatar.h: implement rotation based on quaternions + + * src/avatar.cpp, src/avatar.h: implement movement to system axis + +2006-04-09 Christoph Brill <eg...@us...> + + * src/framelistener.cpp: add initial tries to move the avatar + + * src/avatar.cpp, include/avatar.h: add object to represent + interaction with the player, a so called "player avatar" + + * src/framelistener.cpp: comment the source and format it + + * include/framelistener.h: create proper doxygen comments for the class + + * include/application.h, src/application.cpp: No longer derive from the + ExampleFrameapplication + + * include/framelistener.h, src/framelistener.cpp: No longer derive from + the ExampleFramelistener + +2006-04-08 Christoph Brill <eg...@us...> + + * data/Ships/Octavius/Apteryx/octavius_aptery.mesh.xml, + data/Ships/Octavius/Apteryx/octavius_aptery.mesh, + data/ships/Quantar/Storm/quantar_storm.mesh.xml, + data/ships/Quantar/Storm/quantar_storm.mesh : add ogre-mesh of + the ships to use them ingame + + * src/framelistener.cpp, src/application.cpp, src/main.cpp, + include/framelistener.h, include/application.h: split out classes + to separate files + + * data/Ships: create ships folder + +2006-04-01 Christoph Brill <eg...@us...> + + * all: initial import Property changes on: branches/old/ChangeLog ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/Doxyfile =================================================================== --- branches/old/Doxyfile (rev 0) +++ branches/old/Doxyfile 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1,273 @@ +# Doxyfile 1.4.6 + +#--------------------------------------------------------------------------- +# Project related configuration options +#--------------------------------------------------------------------------- +PROJECT_NAME = opengate +PROJECT_NUMBER = 0.0 +OUTPUT_DIRECTORY = /home/egore/source/opengate/doc/API/ +CREATE_SUBDIRS = YES +OUTPUT_LANGUAGE = English +USE_WINDOWS_ENCODING = NO +BRIEF_MEMBER_DESC = YES +REPEAT_BRIEF = YES +ABBREVIATE_BRIEF = "The $name class" \ + "The $name widget" \ + "The $name file" \ + is \ + provides \ + specifies \ + contains \ + represents \ + a \ + an \ + the +ALWAYS_DETAILED_SEC = NO +INLINE_INHERITED_MEMB = NO +FULL_PATH_NAMES = YES +STRIP_FROM_PATH = /home/egore/ +STRIP_FROM_INC_PATH = +SHORT_NAMES = NO +JAVADOC_AUTOBRIEF = NO +MULTILINE_CPP_IS_BRIEF = NO +DETAILS_AT_TOP = NO +INHERIT_DOCS = YES +SEPARATE_MEMBER_PAGES = NO +TAB_SIZE = 8 +ALIASES = +OPTIMIZE_OUTPUT_FOR_C = NO +OPTIMIZE_OUTPUT_JAVA = NO +BUILTIN_STL_SUPPORT = NO +DISTRIBUTE_GROUP_DOC = NO +SUBGROUPING = YES +#--------------------------------------------------------------------------- +# Build related configuration options +#--------------------------------------------------------------------------- +EXTRACT_ALL = NO +EXTRACT_PRIVATE = YES +EXTRACT_STATIC = YES +EXTRACT_LOCAL_CLASSES = YES +EXTRACT_LOCAL_METHODS = YES +HIDE_UNDOC_MEMBERS = YES +HIDE_UNDOC_CLASSES = YES +HIDE_FRIEND_COMPOUNDS = NO +HIDE_IN_BODY_DOCS = NO +INTERNAL_DOCS = NO +CASE_SENSE_NAMES = YES +HIDE_SCOPE_NAMES = NO +SHOW_INCLUDE_FILES = YES +INLINE_INFO = YES +SORT_MEMBER_DOCS = YES +SORT_BRIEF_DOCS = YES +SORT_BY_SCOPE_NAME = YES +GENERATE_TODOLIST = YES +GENERATE_TESTLIST = YES +GENERATE_BUGLIST = YES +GENERATE_DEPRECATEDLIST= YES +ENABLED_SECTIONS = +MAX_INITIALIZER_LINES = 30 +SHOW_USED_FILES = YES +SHOW_DIRECTORIES = NO +FILE_VERSION_FILTER = +#--------------------------------------------------------------------------- +# configuration options related to warning and progress messages +#--------------------------------------------------------------------------- +QUIET = YES +WARNINGS = YES +WARN_IF_UNDOCUMENTED = YES +WARN_IF_DOC_ERROR = YES +WARN_NO_PARAMDOC = YES +WARN_FORMAT = "$file:$line: $text" +WARN_LOGFILE = +#--------------------------------------------------------------------------- +# configuration options related to the input files +#--------------------------------------------------------------------------- +INPUT = /home/egore/source/opengate/ +FILE_PATTERNS = *.c \ + *.cc \ + *.cxx \ + *.cpp \ + *.c++ \ + *.d \ + *.java \ + *.ii \ + *.ixx \ + *.ipp \ + *.i++ \ + *.inl \ + *.h \ + *.hh \ + *.hxx \ + *.hpp \ + *.h++ \ + *.idl \ + *.odl \ + *.cs \ + *.php \ + *.php3 \ + *.inc \ + *.m \ + *.mm \ + *.dox \ + *.py \ + *.C \ + *.CC \ + *.C++ \ + *.II \ + *.I++ \ + *.H \ + *.HH \ + *.H++ \ + *.CS \ + *.PHP \ + *.PHP3 \ + *.M \ + *.MM \ + *.PY +RECURSIVE = YES +EXCLUDE = /home/egore/source/opengate/website/ +EXCLUDE_SYMLINKS = NO +EXCLUDE_PATTERNS = +EXAMPLE_PATH = +EXAMPLE_PATTERNS = * +EXAMPLE_RECURSIVE = NO +IMAGE_PATH = +INPUT_FILTER = +FILTER_PATTERNS = +FILTER_SOURCE_FILES = NO +#--------------------------------------------------------------------------- +# configuration options related to source browsing +#--------------------------------------------------------------------------- +SOURCE_BROWSER = YES +INLINE_SOURCES = NO +STRIP_CODE_COMMENTS = YES +REFERENCED_BY_RELATION = YES +REFERENCES_RELATION = YES +USE_HTAGS = NO +VERBATIM_HEADERS = YES +#--------------------------------------------------------------------------- +# configuration options related to the alphabetical class index +#--------------------------------------------------------------------------- +ALPHABETICAL_INDEX = NO +COLS_IN_ALPHA_INDEX = 5 +IGNORE_PREFIX = +#--------------------------------------------------------------------------- +# configuration options related to the HTML output +#--------------------------------------------------------------------------- +GENERATE_HTML = YES +HTML_OUTPUT = html +HTML_FILE_EXTENSION = .html +HTML_HEADER = +HTML_FOOTER = +HTML_STYLESHEET = +HTML_ALIGN_MEMBERS = YES +GENERATE_HTMLHELP = NO +CHM_FILE = +HHC_LOCATION = +GENERATE_CHI = NO +BINARY_TOC = NO +TOC_EXPAND = NO +DISABLE_INDEX = NO +ENUM_VALUES_PER_LINE = 4 +GENERATE_TREEVIEW = NO +TREEVIEW_WIDTH = 250 +#--------------------------------------------------------------------------- +# configuration options related to the LaTeX output +#--------------------------------------------------------------------------- +GENERATE_LATEX = NO +LATEX_OUTPUT = latex +LATEX_CMD_NAME = latex +MAKEINDEX_CMD_NAME = makeindex +COMPACT_LATEX = NO +PAPER_TYPE = a4wide +EXTRA_PACKAGES = +LATEX_HEADER = +PDF_HYPERLINKS = NO +USE_PDFLATEX = NO +LATEX_BATCHMODE = NO +LATEX_HIDE_INDICES = NO +#--------------------------------------------------------------------------- +# configuration options related to the RTF output +#--------------------------------------------------------------------------- +GENERATE_RTF = NO +RTF_OUTPUT = rtf +COMPACT_RTF = NO +RTF_HYPERLINKS = NO +RTF_STYLESHEET_FILE = +RTF_EXTENSIONS_FILE = +#--------------------------------------------------------------------------- +# configuration options related to the man page output +#--------------------------------------------------------------------------- +GENERATE_MAN = NO +MAN_OUTPUT = man +MAN_EXTENSION = .3 +MAN_LINKS = NO +#--------------------------------------------------------------------------- +# configuration options related to the XML output +#--------------------------------------------------------------------------- +GENERATE_XML = NO +XML_OUTPUT = xml +XML_SCHEMA = +XML_DTD = +XML_PROGRAMLISTING = YES +#--------------------------------------------------------------------------- +# configuration options for the AutoGen Definitions output +#--------------------------------------------------------------------------- +GENERATE_AUTOGEN_DEF = NO +#--------------------------------------------------------------------------- +# configuration options related to the Perl module output +#--------------------------------------------------------------------------- +GENERATE_PERLMOD = NO +PERLMOD_LATEX = NO +PERLMOD_PRETTY = YES +PERLMOD_MAKEVAR_PREFIX = +#--------------------------------------------------------------------------- +# Configuration options related to the preprocessor +#--------------------------------------------------------------------------- +ENABLE_PREPROCESSING = YES +MACRO_EXPANSION = NO +EXPAND_ONLY_PREDEF = NO +SEARCH_INCLUDES = YES +INCLUDE_PATH = +INCLUDE_FILE_PATTERNS = +PREDEFINED = +EXPAND_AS_DEFINED = +SKIP_FUNCTION_MACROS = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to external references +#--------------------------------------------------------------------------- +TAGFILES = +GENERATE_TAGFILE = +ALLEXTERNALS = NO +EXTERNAL_GROUPS = YES +PERL_PATH = /usr/bin/perl +#--------------------------------------------------------------------------- +# Configuration options related to the dot tool +#--------------------------------------------------------------------------- +CLASS_DIAGRAMS = NO +HIDE_UNDOC_RELATIONS = YES +HAVE_DOT = YES +CLASS_GRAPH = YES +COLLABORATION_GRAPH = YES +GROUP_GRAPHS = YES +UML_LOOK = NO +TEMPLATE_RELATIONS = NO +INCLUDE_GRAPH = YES +INCLUDED_BY_GRAPH = YES +CALL_GRAPH = YES +GRAPHICAL_HIERARCHY = YES +DIRECTORY_GRAPH = YES +DOT_IMAGE_FORMAT = png +DOT_PATH = +DOTFILE_DIRS = +MAX_DOT_GRAPH_WIDTH = 1024 +MAX_DOT_GRAPH_HEIGHT = 1024 +MAX_DOT_GRAPH_DEPTH = 1000 +DOT_TRANSPARENT = NO +DOT_MULTI_TARGETS = NO +GENERATE_LEGEND = YES +DOT_CLEANUP = YES +#--------------------------------------------------------------------------- +# Configuration::additions related to the search engine +#--------------------------------------------------------------------------- +SEARCHENGINE = NO Property changes on: branches/old/Doxyfile ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/INSTALL =================================================================== --- branches/old/INSTALL (rev 0) +++ branches/old/INSTALL 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1 @@ +link /usr/share/automake-1.9/INSTALL \ No newline at end of file Property changes on: branches/old/INSTALL ___________________________________________________________________ Name: svn:special + * Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/Makefile.am =================================================================== --- branches/old/Makefile.am (rev 0) +++ branches/old/Makefile.am 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1 @@ +SUBDIRS = src doc data Property changes on: branches/old/Makefile.am ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/Makefile.cvs =================================================================== --- branches/old/Makefile.cvs (rev 0) +++ branches/old/Makefile.cvs 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1,8 @@ +default: all + +all: + aclocal + autoheader + automake + autoconf + Property changes on: branches/old/Makefile.cvs ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + native Added: branches/old/Makefile.in =================================================================== --- branches/old/Makefile.in (rev 0) +++ branches/old/Makefile.in 2006-12-09 20:06:23 UTC (rev 269) @@ -0,0 +1,626 @@ +# Makefile.in generated by automake 1.9.6 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, +# 2003, 2004, 2005 Free Software Foundation, Inc. +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. + +@SET_MAKE@ +srcdir = @srcdir@ +top_srcdir = @top_srcdir@ +VPATH = @srcdir@ +pkgdatadir = $(datadir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +top_builddir = . +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +INSTALL = @INSTALL@ +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ + $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ + TODO config.guess config.sub depcomp install-sh ltmain.sh \ + missing mkinstalldirs +subdir = . +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/configure.in +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ + configure.lineno configure.status.lineno +mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs +CONFIG_HEADER = config.h +CONFIG_CLEAN_FILES = +SOURCES = +DIST_SOURCES = +RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ + html-recursive info-recursive install-data-recursive \ + install-exec-recursive install-info-recursive \ + install-recursive installcheck-recursive installdirs-recursive \ + pdf-recursive ps-recursive uninstall-info-recursive \ + uninstall-recursive +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +distdir = $(PACKAGE)-$(VERSION) +top_distdir = $(distdir) +am__remove_distdir = \ + { test ! -d $(distdir) \ + || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ + && rm -fr $(distdir); }; } +DIST_ARCHIVES = $(distdir).tar.gz +GZIP_ENV = --best +distuninstallcheck_listfiles = find . -type f -print +distcleancheck_listfiles = find . -type f -print +ACLOCAL = @ACLOCAL@ +AMDEP_FALSE = @AMDEP_FALSE@ +AMDEP_TRUE = @AMDEP_TRUE@ +AMTAR = @AMTAR@ +AM_CXXFLAGS = @AM_CXXFLAGS@ +AM_LDFLAGS = @AM_LDFLAGS@ +AR = @AR@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CEGUI_CFLAGS = @CEGUI_CFLAGS@ +CEGUI_LIBS = @CEGUI_LIBS@ +CEGUI_OGRE_CFLAGS = @CEGUI_OGRE_CFLAGS@ +CEGUI_OGRE_LIBS = @CEGUI_OGRE_LIBS@ +CFLAGS = @CFLAGS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXCPP = @CXXCPP@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO = @ECHO@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +F77 = @F77@ +FFLAGS = @FFLAGS@ +GRAPPLE_CFLAGS = @GRAPPLE_CFLAGS@ +GRAPPLE_LIBS = @GRAPPLE_LIBS@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +LDFLAGS = @LDFLAGS@ +LIBCURL_CFLAGS = @LIBCURL_CFLAGS@ +LIBCURL_LIBS = @LIBCURL_LIBS@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBTOOL = @LIBTOOL@ +LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ +LIBXML2_LIBS = @LIBXML2_LIBS@ +LN_S = @LN_S@ +LTLIBOBJS = @LTLIBOBJS@ +MAKEINFO = @MAKEINFO@ +OBJEXT = @OBJEXT@ +OGRE_CFLAGS = @OGRE_CFLAGS@ +OGRE_LIBS = @OGRE_LIBS@ +OIS_CFLAGS = @OIS_CFLAGS@ +OIS_LIBS = @OIS_LIBS@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PKG_CONFIG = @PKG_CONFIG@ +RANLIB = @RANLIB@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +VERSION = @VERSION@ +ac_ct_AR = @ac_ct_AR@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +ac_ct_F77 = @ac_ct_F77@ +ac_ct_RANLIB = @ac_ct_RANLIB@ +ac_ct_STRIP = @ac_ct_STRIP@ +ac_pt_PKG_CONFIG = @ac_pt_PKG_CONFIG@ +am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ +am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ +am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ +am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +datadir = @datadir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +SUBDIRS = src doc data +all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +am--refresh: + @: +$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ + cd $(srcdir) && $(AUTOMAKE) --gnu \ + && exit 0; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ + cd $(top_srcdir) && \ + $(AUTOMAKE) --gnu Makefile +.PRECIOUS: Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + echo ' $(SHELL) ./config.status'; \ + $(SHELL) ./config.status;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + $(SHELL) ./config.status --recheck + +$(top_srcdir)/configure: $(am__configure_deps) + cd $(srcdir) && $(AUTOCONF) +$(ACLOCAL_M4): $(am__aclocal_m4_deps) + cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) + +config.h: stamp-h1 + @if test ! -f $@; then \ + rm -f stamp-h1; \ + $(MAKE) stamp-h1; \ + else :; fi + +stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status + @rm -f stamp-h1 + cd $(top_builddir) && $(SHELL) ./config.status config.h +$(srcdir)/config.h.in: $(am__configure_deps) + cd $(top_srcdir) && $(AUTOHEADER) + rm -f stamp-h1 + touch $@ + +distclean-hdr: + -rm -f config.h stamp-h1 + +mostlyclean-libtool: + -rm -f *.lo + +clean-libtool: + -rm -rf .libs _libs + +distclean-libtool: + -rm -f libtool +uninstall-info-am: + +# This directory's subdirectories are mostly independent; you can cd +# into them and run `make' without going through this Makefile. +# To change the values of `make' variables: instead of editing Makefiles, +# (1) if the variable is set in `config.status', edit `config.status' +# (which will cause the Makefiles to be regenerated when you run `make'); +# (2) otherwise, pass the desired values on the `make' command line. +$(RECURSIVE_TARGETS): + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +mostlyclean-recursive clean-recursive distclean-recursive \ +maintainer-clean-recursive: + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ + dot_seen=no; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + rev=''; for subdir in $$list; do \ + if test "$$subdir" = "."; then :; else \ + rev="$$subdir $$rev"; \ + fi; \ + done; \ + rev="$$rev ."; \ + target=`echo $@ | sed s/-recursive//`; \ + for subdir in $$rev; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done && test -z "$$fail" +tags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ + done +ctags-recursive: + list='$(SUBDIRS)'; for subdir in $$list; do \ + test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ + done + +ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) + list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + mkid -fID $$unique +tags: TAGS + +TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$tags $$unique; \ + fi +ctags: CTAGS +CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ + $(TAGS_FILES) $(LISP) + tags=; \ + here=`pwd`; \ + list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | \ + $(AWK) ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(CTAGS_ARGS)$$tags$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$tags $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && cd $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) $$here + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(DISTFILES) + $(am__remove_distdir) + mkdir $(distdir) + @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \ + list='$(DISTFILES)'; for file in $$list; do \ + case $$file in \ + $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \ + $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \ + esac; \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test "$$dir" != "$$file" && test "$$dir" != "."; then \ + dir="/$$dir"; \ + $(mkdir_p) "$(distdir)$$dir"; \ + else \ + dir=''; \ + fi; \ + if test -d $$d/$$file; then \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ + fi; \ + cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ + else \ + test -f $(distdir)/$$file \ + || cp -p $$d/$$file $(distdir)/$$file \ + || exit 1; \ + fi; \ + done + list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test -d "$(distdir)/$$subdir" \ + || $(mkdir_p) "$(distdir)/$$subdir" \ + || exit 1; \ + distdir=`$(am__cd) $(distdir) && pwd`; \ + top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ + (cd $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$top_distdir" \ + distdir="$$distdir/$$subdir" \ + distdir) \ + || exit 1; \ + fi; \ + done + -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ + ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ + ! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \ + || chmod -R a+r $(distdir) +dist-gzip: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +dist-bzip2: distdir + tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 + $(am__remove_distdir) + +dist-tarZ: distdir + tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z + $(am__remove_distdir) + +dist-shar: distdir + shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + $(am__remove_distdir) + +dist-zip: distdir + -rm -f $(distdir).zip + zip -rq $(distdir).zip $(distdir) + $(am__remove_distdir) + +dist dist-all: distdir + tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + $(am__remove_distdir) + +# This target untars the dist file and tries a VPATH configuration. Then +# it guarantees that the distribution is self-contained by making another +# tarfile. +distcheck: dist + case '$(DIST_ARCHIVES)' in \ + *.tar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ + *.tar.bz2*) \ + bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ + *.tar.Z*) \ + uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ + *.shar.gz*) \ + GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ + *.zip*) \ + unzip $(distdir).zip ;;\ + esac + chmod -R a-w $(distdir); chmod a+w $(distdir) + mkdir $(distdir)/_build + mkdir $(distdir)/_inst + chmod a-w $(distdir) + dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ + && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ + && cd $(distdir)/_build \ + && ../configure --srcdir=.. --prefix="$$dc_install_base" \ + $(DISTCHECK_CONFIGURE_FLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) \ + && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) check \ + && $(MAKE) $(AM_MAKEFLAGS) install \ + && $(MAKE) $(AM_MAKEFLAGS) installcheck \ + && $(MAKE) $(AM_MAKEFLAGS) uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ + distuninstallcheck \ + && chmod -R a-w "$$dc_install_base" \ + && ({ \ + (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ + && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ + distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ + } || { rm -rf "$$dc_destdir"; exit 1; }) \ + && rm -rf "$$dc_destdir" \ + && $(MAKE) $(AM_MAKEFLAGS) dist \ + && rm -rf $(DIST_ARCHIVES) \ + && $(MAKE) $(AM_MAKEFLAGS) distcleancheck + $(am__remove_distdir) + @(echo "$(distdir) archives ready for distribution: "; \ + list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ + sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}' +distuninstallcheck: + @cd $(distuninstallcheck_dir) \ + && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ + || { echo "ERROR: files left after uninstall:" ; \ + if test -n "$(DESTDIR)"; then \ + echo " (check DESTDIR support)"; \ + fi ; \ + $(distuninstallcheck_listfiles) ; \ + exit 1; } >&2 +distcleancheck: distclean + @if test '$(srcdir)' = . ; then \ + echo "ERROR: distcleancheck can only run from a VPATH build" ; \ + exit 1 ; \ + fi + @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ + || { echo "ERROR: files left in build directory after distclean:" ; \ + $(distcleancheck_listfiles) ; \ + exit 1; } >&2 +check-am: all-am +check: check-recursive +all-am: Makefile config.h +installdirs: installdirs-recursive +installdirs-am: +install: install-recursive +install-exec: install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + `test -z '$(STRIP)' || \ + echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-recursive + +clean-am: clean-generic clean-libtool mostlyclean-am + +distclean: distclean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -f Makefile +distclean-am: clean-am distclean-generic distclean-hdr \ + distclean-libtool distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +info: info-recursive + +info-am: + +install-data-am: + +install-exec-am: + +install-info: install-info-recursive + +install-man: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f $(am__CONFIG_DISTCLEAN_FILES) + -rm -rf $(top_srcdir)/autom4te.cache + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-generic mostlyclean-libtool + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-info-am + +uninstall-info: uninstall-info-recursive + +.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \ + check-am clean clean-generic clean-libtool clean-recursive \ + ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-generic distclean-hdr distclean-libtool \ + distclean-recursive distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + maintainer-clean-recursive mostlyclean mostlyclean-generic \ + mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \ + tags tags-recursive uninstall uninstall-am uninstall-info-am + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: Property changes on: bran... [truncated message content] |
From: <ult...@us...> - 2007-05-04 20:53:23
|
Revision: 432 http://svn.sourceforge.net/opengate/?rev=432&view=rev Author: ultrasick Date: 2007-05-04 13:53:21 -0700 (Fri, 04 May 2007) Log Message: ----------- moving some stuff around Added Paths: ----------- branches/First_try_by_Christoph.7z Removed Paths: ------------- branches/old/ Added: branches/First_try_by_Christoph.7z =================================================================== (Binary files differ) Property changes on: branches/First_try_by_Christoph.7z ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ult...@us...> - 2007-05-04 21:01:25
|
Revision: 435 http://svn.sourceforge.net/opengate/?rev=435&view=rev Author: ultrasick Date: 2007-05-04 14:01:26 -0700 (Fri, 04 May 2007) Log Message: ----------- renameing for proper sorting. later we will probably archive the code from tims client in 2nd_try_by_tim.7z Added Paths: ----------- branches/1st_try_by_christoph.7z Removed Paths: ------------- branches/first_try_by_christoph.7z Added: branches/1st_try_by_christoph.7z =================================================================== (Binary files differ) Property changes on: branches/1st_try_by_christoph.7z ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Deleted: branches/first_try_by_christoph.7z =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <spo...@us...> - 2008-02-04 22:24:51
|
Revision: 883 http://opengate.svn.sourceforge.net/opengate/?rev=883&view=rev Author: spom_spom Date: 2008-02-04 14:24:41 -0800 (Mon, 04 Feb 2008) Log Message: ----------- start a veryvery basic TPoC for an wxpython based python-ogre editor for OpenGate Added Paths: ----------- branches/ogEditor/ branches/ogEditor/ObjectInspectorPanels.py branches/ogEditor/OgreWindowWx.py branches/ogEditor/PropertyGrid.py branches/ogEditor/PythonOgreConfig.py branches/ogEditor/ResourceTreePane.py branches/ogEditor/build.wxogre_util.sh branches/ogEditor/ogEditor.py branches/ogEditor/ogEditor.sh branches/ogEditor/ogre.cfg branches/ogEditor/plugins.cfg branches/ogEditor/propgridtest.py branches/ogEditor/resources.cfg branches/ogEditor/treetest.py branches/ogEditor/wxogre_util.cpp branches/ogEditor/wxogre_util.py Added: branches/ogEditor/ObjectInspectorPanels.py =================================================================== --- branches/ogEditor/ObjectInspectorPanels.py (rev 0) +++ branches/ogEditor/ObjectInspectorPanels.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,214 @@ +#!/usr/bin/env python +# -*- coding: ansi_x3.4-1968 -*- +# generated by wxGlade 0.6.2 on Mon Jan 7 21:02:32 2008 + +import wx +import sys + +import PythonOgreConfig +import ogre.renderer.OGRE as ogre + +from PropertyGrid import * + +class PropertyCollapsibleOgreFogPane( PropertyPaneItem ): + def __init__( self, parent, name, object = None ): + PropertyPaneItem.__init__(self, parent, name) + + self.object = object + self.colour = [255, 255, 255, 255] + self.mode = 0 + self.expDensity = 0.01 + self.linearStart = 0.0 + self.linearEnd = 1.0 +# self.fogmodes = {"FOG_NONE" :"No fog. Duh.", +# "FOG_EXP": "Fog density increases exponentially from the camera (fog = 1/e^(distance * density)).", +# "FOG_EXP2": "Fog density increases at the square of FOG_EXP, i.e. even quicker (fog = 1/e^(distance * density)^2)." +# "FOG_LINEAR": "Fog density increases linearly between the start and end distances."} +# + modes = ((ogre.FOG_NONE, "FOG_NONE"), + (ogre.FOG_EXP, "FOG_EXP"), + (ogre.FOG_EXP2, "FOG_EXP2"), + (ogre.FOG_LINEAR,"FOG_LINEAR")) + + self.m = self.appendRowItemChoice( "Mode", itemMap=modes, cback = self.setMode ) + self.c = self.appendRowItemColourSelect( "Colour", cback = self.setRGBA ) + self.min = self.appendRowItemSlider( "linearStart", 0, 1, format = SLIDER_FLOAT, cback = self.setLinMin ) + self.max = self.appendRowItemSlider( "linearEnd", 0, 1, format = SLIDER_FLOAT, cback = self.setLinMax ) + self.exp = self.appendRowItemSlider( "expDensity", 0.0001, 0.01, format = SLIDER_LOG10, cback = self.setExpDens ) + + if object != None: + mode = object.getFogMode() + #self.mode = ogre.mode + col = object.getFogColour() + print col + self.colour = map( lambda x: x * 255.0, [col[0],col[1], col[2], col[3]] ) + self.linearStart = object.getFogStart() + self.linearEnd = object.getFogEnd() + self.expDensity= object.getFogDensity() + + self.applyValues( False ) + + def setMode( self, value ): + self.mode = value + self.applyValues( ) + def setRGBA( self, value ): + self.colour[ 0:3 ] = value + self.applyValues( ) + def setLinMin( self, value ): + self.linearStart = value + self.applyValues( ) + def setLinMax( self, value ): + self.linearEnd = value + self.applyValues( ) + def setExpDens( self, value ): + self.expDensity = value + self.applyValues( ) + + def applyValues(self, update = True): + self.m.setValue( self.mode ) + self.c.setValue( self.colour ) + self.min.setValue( self.linearStart ) + self.max.setValue( self.linearEnd ) + self.exp.setValue( self.expDensity ) + + if update == True: + if self.object != None: + col = map( lambda x: x / 255.0, self.colour ) + self.object.setFog(self.mode, col, self.expDensity, self.linearStart, self.linearEnd ) + +class ObjectInspectorPanel(wx.Panel): + def __init__(self, *args, **kwds): + kwds["style"] = wx.TAB_TRAVERSAL + wx.Panel.__init__(self, *args, **kwds) + self.typeStaticText = wx.StaticText(self, -1, "Type") + self.propertyGrid = PropertyMainGrid( self, -1, style=wx.SIMPLE_BORDER ) + + self.__set_properties() + self.__do_layout() + + il = wx.ImageList(16, 16) + self.ColourIconID = il.Add( wx.ArtProvider_GetBitmap( wx.ART_GO_DOWN, wx.ART_TOOLBAR, ( 16, 16 ) ) ) + #self.propertyList.AssignImageList( il, wx.IMAGE_LIST_SMALL ) + + def __set_properties(self): + self.SetBackgroundColour(wx.Colour(255, 255, 255)) + self.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + self.typeStaticText.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + + def __do_layout(self): + sizer_1 = wx.BoxSizer(wx.HORIZONTAL) + content = wx.BoxSizer(wx.VERTICAL) + sizer_1.Add((5, 20), 0, 0, 0) + content.Add((20, 5), 0, 0, 0) + content.Add(self.typeStaticText, 0, 0, 0) + content.Add((20, 3), 0, 0, 0) + content.Add(self.propertyGrid, 1, wx.EXPAND, 0) + content.Add((20, 5), 0, 0, 0) + sizer_1.Add(content, 1, wx.EXPAND, 0) + sizer_1.Add((5, 20), 0, 0, 0) + self.SetSizer(sizer_1) + sizer_1.Fit(self) + + def showData( self, data ): + self.propertyGrid.clean() + if type( data ) == None: + self.showNone() + if type( data ) == ogre.SceneNode: + self.showSceneNode( data ) + elif issubclass( type( data ), ogre.SceneManager): + self.showSceneManager( data ) + elif issubclass( type( data ), ogre.Resource ): + self.showResource( data ) + elif issubclass( type( data ), ogre.MovableObject ): + self.showMovableObject( data ) + elif issubclass( type( data ), ogre.ResourceManager ): + self.showResourceManager( data ) + else: + self.showUnknown( data ) + self.propertyGrid.sizer.Layout() + + def showNone( self ): + self.typeStaticText.SetLabel( "None" ) + + def showUnknown( self, data ): + self.typeStaticText.SetLabel( "Unknown" ) + self.showName( data ); + + def showSceneManager( self, data ): + self.typeStaticText.SetLabel( "SceneManager" ) + self.showName( data ); + + self.propertyGrid.appendRowItemName( "Type name", data.getTypeName() ) + self.propertyGrid.appendPaneColourSelect( "Ambient color", + cfront = data.getAmbientLight, + cback = data.setAmbientLight ) + + print data + fog = PropertyCollapsibleOgreFogPane( self.propertyGrid, "Fog", object = data ) + self.propertyGrid.appendPane( fog ) + +# self.propertyTree.createTextBoolRow( "SkyPlane", data.isSkyPlaneEnabled() ) +# self.propertyTree.createTextBoolRow( "SkyBox", data.isSkyBoxEnabled() ) +# self.propertyTree.createTextBoolRow( "SkyDone", data.isSkyDomeEnabled() ) +# +# fogmodes = {"FOG_NONE":"No fog. Duh.", +# "FOG_EXP": "Fog density increases exponentially from the camera (fog = 1/e^(distance * density)).", +# "FOG_EXP2": "Fog density increases at the square of FOG_EXP, i.e. even quicker (fog = 1/e^(distance * density)^2)." +# "FOG_LINEAR": "Fog density increases linearly between the start and end distances."} +# +# pane = self.propertyTree.createPane( "Fog" ) + + #pane.AppendSelectFromDictRow( "Mode", fogmodes ) + #self.propertyTree.createColourPane( "fog color" ) + + +# getFogColour (void) const +# virtual Real getFogStart (void) const +# virtual Real getFogEnd (void) const +# virtual Real getFogDensity (void) const +# getRenderQueue +# showBoundingBoxes (bool bShow) +# getShowBoundingBoxes () +# getCameraIterator +# getAnimationIterator +# getShadowTechnique +# many props + + def showSceneNode( self, data ): + self.typeStaticText.SetLabel( "SceneNode" ) + self.showName( data ); + + def showResource( self, data ): + self.typeStaticText.SetLabel( "Resource: " + data.getCreator().getResourceType() ) + self.showName( data ); + self.appendRowItemName( "Group", data.getGroup() ) + self.appendRowItemName( "Origin", data.getOrigin() ) + +# params = data.getParameters() +# if len( params ) > 0: +# pane = self.propertyTree.createPane( "Parameters" ) +# +# for i in params: +# self.propertyTree.createTextRow( i.name, data.getParameter( i.name ), pane ) +# +# if type( data ) == ogre.Texture: +# print "Texture" + + def showMovableObject( self, data ): + self.typeStaticText.SetLabel( "Movable object: " + data.getMovableType() ) + self.showName( data ); + + def showResourceManager( self, data ): + self.typeStaticText.SetLabel( "Resourcemanager: " + data.getResourceType() ) + self.propertyGrid.appendRowItemName( "Memory budget", "%.3g Mb" + % (data.getMemoryBudget()/ 1024.0 /1024.0 ) ) + self.propertyGrid.appendRowItemName( "Memory usage", "%.3g Mb" + % (data.getMemoryUsage()/ 1024.0 /1024.0 ) ) + + def showName( self, data ): + self.propertyGrid.appendRowItemName( "Name", data.getName() ) + + +# end of class ObjectInspectorPanel + + Added: branches/ogEditor/OgreWindowWx.py =================================================================== --- branches/ogEditor/OgreWindowWx.py (rev 0) +++ branches/ogEditor/OgreWindowWx.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,262 @@ +import wx +import ogre.renderer.OGRE as ogre +import wxogre_util as wxHandle +import os +import os.path + +try : + import psyco #use psyco if available (JIT compiler) + psyco.full() +except ImportError: + pass + +def getPluginPath(): + """Return the absolute path to a valid plugins.cfg file.""" +# import sys + + paths = [ os.path.join( os.getcwd(), 'plugins.cfg'), + os.path.join( os.path.dirname( os.path.abspath( __file__ ) ), 'plugins.cfg'), + '/etc/OGRE/plugins.cfg' ] + + for path in paths: + if os.path.exists(path): + return path + + sys.stderr.write("\n" + "** Warning: Unable to locate a suitable plugins.cfg file.\n" + "** Warning: Please check your ogre installation and copy a\n" + "** Warning: working plugins.cfg file to the current directory.\n\n") + raise ogre.Exception(0, "can't locate the 'plugins.cfg' file", "") + +class Struct: + "simple dummy class to regroup scene entities in a single parameter" + pass + +class OgreWindow( wx.PyWindow ): + """wx.Frame subclass to embed an Ogre window in wxPython + It is somewhat inspired from SampleFramework.py""" + + #all animation states included in this dictionary will be automatically updated at each render + animStates = {} #the values have to be (AnimationState, SpeedFactor) tuples + + #namespace for holding a reference to the entities you create. You can comment it out + #if you don't like the idea + sceneEntities = Struct() + + def __init__( self, parent, ID, size = wx.Size( 800, 600 ), renderSystem = "OpenGL", **kwargs ): + self.parent = parent + wx.PyWindow.__init__( self, parent, ID, size = size, **kwargs ) + #Event bindings + self.Bind( wx.EVT_CLOSE, self._OnCloseWindow) + self.Bind( wx.EVT_SIZE, self._OnSize) + self.Bind( wx.EVT_TIMER, self.UpdateRender) #Bind the timer events to Ogre rendering + self.Bind( wx.EVT_ERASE_BACKGROUND, self._OnEraseBackground) + + #Timer creation + self.timer = wx.Timer() + self.timer.SetOwner( self ) #Sets the timer to notify self: binding the timer event is not enough + + #Ogre Initialisation + self._OgreInit( size, renderSystem ) + self.SceneInitialisation() + self.UpdateRender() + self.SetFocus() #Gives KeyboardFocus + + def _OgreInit(self,size,renderSystem): + #Root creation + root = ogre.Root( getPluginPath(), "ogre.cfg" ) + self.ogreRoot = root + + # setup resources + config = ogre.ConfigFile() + config.load( 'resources.cfg' ) + + section_iter = config.getSectionIterator() + while section_iter.hasMoreElements(): + section_name = section_iter.peekNextKey() + settings = section_iter.getNext() + for key, path in settings: + ogre.ResourceGroupManager.getSingleton().addResourceLocation( path, key, section_name, False) + + if os.path.exists( "ogre.cfg" ): + root.restoreConfig() + else: + carryOn = root.showConfigDialog() + if not carryOn: + sys.exit('Quit from Config Dialog') + + #The following section tries to avoid showing the configuration dilaog. +# rsList = root.getAvailableRenderers() #Gets the available RenderSystems +# rs = None +# CouldNotFindRequestedRenderer = False +# for i in rsList: +# print i + +# if renderSystem in i.name: #Tries to locate the requested render system +# rs=i +# if rs is not None : +# root.renderSystem=rs +# rs.setConfigOption("Full Screen","No") +# try : +# rs.setConfigOption("Video Mode","800 x 600 @ 16-bit colour") +# except : +# CouldNotFindRequestedRenderer=True +# else : +# CouldNotFindRequestedRenderer=True +# +# if CouldNotFindRequestedRenderer: #Calls Ogre's default Config dialog if failed +# carryOn = root.showConfigDialog() +# if not carryOn: +# sys.exit('Quit from Config Dialog') + +# carryOn = root.showConfigDialog() +# if not carryOn: +# sys.exit('Quit from Config Dialog') + +#get the topmost window and make it visible, otherwise we cant get a valid windowhandle + + lastValid = self.parent + parent = lastValid + while parent != None: + lastValid = parent + parent = lastValid.GetParent() + lastValid.Show( True ) + + root.initialise(False) + renderParameters = ogre.NameValuePairList() + handle = wxHandle.get_window_handle_str( self ) + if handle == "No window found": + print handle + renderParameters = ogre.NameValuePairList(); + else: + renderParameters['externalWindowHandle'] = handle + print handle, lastValid.GetHandle(), self.parent.GetHandle() + + renderWindow = root.createRenderWindow('wxPython render window', size[ 0 ], size[ 1 ], False, renderParameters) + renderWindow.active = True + self.renderWindow = renderWindow + ogre.ResourceGroupManager.getSingleton().initialiseAllResourceGroups() + + def _OnSize(self, event): + if getattr(self, 'ogreRoot', None): + self.UpdateRender() + self.renderWindow.windowMovedOrResized() + event.Skip() + + def _OnEraseBackground(self, event): + pass # Do nothing, to avoid flashing on MSW. + + def _OnCloseWindow(self, event): + self.Destroy() + + def AcceptsFocus(self): + return True + + def StartRendering(self,interval=33): + "Activates the timer. A rendering will be triggered at each interval (default :33ms)" + self.timer.Start(interval) + + def OnFrameStarted(self,event): + "SubClass and fill in this declaration if you want something done before each rendering" + pass + + def OnFrameEnded(self,event): + "SubClass and fill in this declaration if you want something done after each rendering" + pass + + def UpdateRender(self,event=None): + """Method that can be called manually or by a wx.Timer + If the method is called by timer, the animation states contained in + the self.animStates variable get updated before rendering the frame""" + + #Enables the user to define actions to be undertaken before the frame is started + self.OnFrameStarted(event) + + if hasattr(event ,"GetInterval"): #Timer Events have a GetInterval method that returns the time interval between events + for anim,speed in self.animStates.itervalues(): + anim.addTime(speed*event.GetInterval()/1000.0) #updates the animations + + self.ogreRoot.renderOneFrame()#Asks Ogre to render a frame + + #Enables the user to define actions to be undertaken after the frame has been drawn + self.OnFrameEnded(event) + + def SceneInitialisation(self): + """This method can be replaced completely to suit your needs or you can + subclass only the helper methods such as self._CreateCamera""" + self._ChooseSceneManager() + self._CreateCamera() + self._CreateViewport() + self._PopulateScene() + self._MouseAndKeysBindings() + + #You will want to subclass the following methods to suit your needs + + def _ChooseSceneManager(self): + "choose SceneManager" + self.sceneManager = self.ogreRoot.createSceneManager(ogre.ST_GENERIC,"ExampleSMInstance") + + def _CreateCamera(self): + "create a Camera" + camera = self.sceneManager.createCamera('Camera') + camera.lookAt(ogre.Vector3(0, 0, 0)) + camera.nearClipDistance = 1 + camera.setAutoAspectRatio( True ) + + self.sceneEntities.camera = camera + + # create the camera nodes & attach camera + cameraNode = self.sceneManager.getRootSceneNode().createChildSceneNode( camera.getName() + "/Node", + ogre.Vector3( 0, 0, 250 ) ) + pitchNode = cameraNode.createChildSceneNode( cameraNode.getName() + "/PitchNode" ) + pitchNode.attachObject( camera ) + + self.sceneEntities.cameraNode = cameraNode + self.sceneEntities.cameraPitchNode = pitchNode + + def _CreateViewport(self): + "create a Viewport" + renderWindow=self.renderWindow + viewport = renderWindow.addViewport( self.sceneEntities.camera, 0, 0.0, 0.0, 1.0, 1.0) + viewport.backgroundColour = ogre.ColourValue(0, 0, 0) + + def _PopulateScene(self): + "Implement this method to put entities in your scene" + pass + + def _MouseAndKeysBindings(self): + "Some Additional mouse and keys bindings" + d=10.0 #displacement for key strokes + self.ControlKeyDict={ wx.WXK_LEFT :ogre.Vector3( -d, 0.0, 0.0), + wx.WXK_RIGHT :ogre.Vector3( d, 0.0, 0.0), + wx.WXK_UP :ogre.Vector3( 0.0, 0.0, -d), + wx.WXK_DOWN :ogre.Vector3( 0.0, 0.0, d), + wx.WXK_PAGEUP :ogre.Vector3( 0.0, d, 0.0), + wx.WXK_PAGEDOWN :ogre.Vector3( 0.0, -d, 0.0)} + self.Bind( wx.EVT_KEY_DOWN, self._DefaultKeyDownManager ) + self.Bind( wx.EVT_MOUSE_EVENTS, self._DefaultMouseEventManager) + ##self.Bind(wx.EVT_ENTER_WINDOW,lambda evt : self.SetFocus()) + + def _DefaultKeyDownManager( self, event ): + "If you want to implement a similar callback function, do not forget the event.Skip() at the end" + validMove = self.ControlKeyDict.get( event.m_keyCode, False ) + if validMove: + self.sceneEntities.cameraNode.translate( validMove, self.sceneEntities.cameraNode.TS_LOCAL ) + event.Skip() + + def _DefaultMouseEventManager( self, event ): + "If you want to implement a similar callback function, do not forget the event.Skip() at the end" + self.SetFocus() #Gives Keyboard focus to the window + + if event.RightDown(): #Precedes dragging + self.StartDragX, self.StartDragY = event.GetPosition() #saves position of initial click + + if event.Dragging() and event.RightIsDown(): #Dragging with RMB + x,y = event.GetPosition() + dx = x-self.StartDragX + dy = y-self.StartDragY + self.StartDragX, self.StartDragY = x, y + + self.sceneEntities.cameraNode.yaw( ogre.Degree( dx / 3.0 ) ) + self.sceneEntities.cameraPitchNode.pitch( ogre.Degree( dy / 3.0 ) ) + event.Skip() Added: branches/ogEditor/PropertyGrid.py =================================================================== --- branches/ogEditor/PropertyGrid.py (rev 0) +++ branches/ogEditor/PropertyGrid.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,435 @@ +#!/usr/bin/env python + +import wx +import wx.combo +import wx.lib.colourselect as csel + +SLIDER_INT=0 +SLIDER_FLOAT=1 +SLIDER_LOG10=2 + +class NullLog: + def write(*args): + pass + +class SimpleLog: + def write(*args): + print args + + +class ListCtrlComboPopup( wx.ListCtrl, wx.combo.ComboPopup ): + def __init__( self, log = None, cback = None ): + if log: + self.log = log + else: + self.log = NullLog() + + self.cback = cback + + # Since we are using multiple inheritance, and don't know yet + # which window is to be the parent, we'll do 2-phase create of + # the ListCtrl instead, and call its Create method later in + # our Create method. (See Create below.) + self.PostCreate(wx.PreListCtrl()) + + # Also init the ComboPopup base class. + wx.combo.ComboPopup.__init__(self) + + def AddItem(self, txt): + self.InsertStringItem(self.GetItemCount(), txt) + + def OnMotion(self, evt): + item, flags = self.HitTest(evt.GetPosition()) + if item >= 0: + self.Select(item) + self.curitem = item + + def OnLeftDown(self, evt): + self.value = self.curitem + self.Dismiss() + + # The following methods are those that are overridable from the + # ComboPopup base class. Most of them are not required, but all + # are shown here for demonstration purposes. + + + # This is called immediately after construction finishes. You can + # use self.GetCombo if needed to get to the ComboCtrl instance. + def Init(self): + self.log.write("ListCtrlComboPopup.Init") + self.value = -1 + self.curitem = -1 + + # Create the popup child control. Return true for success. + def Create(self, parent): + self.log.write("ListCtrlComboPopup.Create") + wx.ListCtrl.Create(self, parent, + style=wx.LC_LIST|wx.LC_SINGLE_SEL|wx.SIMPLE_BORDER) + self.Bind(wx.EVT_MOTION, self.OnMotion) + self.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDown) + return True + + # Return the widget that is to be used for the popup + def GetControl(self): + return self + + # Called just prior to displaying the popup, you can use it to + # 'select' the current item. + def SetStringValue(self, val): + self.log.write("ListCtrlComboPopup.SetStringValue") + idx = self.FindItem(-1, val) + if idx != wx.NOT_FOUND: + self.Select(idx) + + # Return a string representation of the current item. + def GetStringValue(self): + self.log.write("ListCtrlComboPopup.GetStringValue") + if self.value >= 0: + return self.GetItemText(self.value) + return "" + + # Called immediately after the popup is shown + def OnPopup(self): + self.log.write("ListCtrlComboPopup.OnPopup") + wx.combo.ComboPopup.OnPopup(self) + + # Called when popup is dismissed + def OnDismiss(self): + self.log.write("ListCtrlComboPopup.OnDismiss") + if self.cback != None: + self.cback( self.value ) + wx.combo.ComboPopup.OnDismiss(self) + + # This is called to custom paint in the combo control itself + # (ie. not the popup). Default implementation draws value as + # string. + def PaintComboControl(self, dc, rect): + self.log.write("ListCtrlComboPopup.PaintComboControl") + wx.combo.ComboPopup.PaintComboControl(self, dc, rect) + + # Receives key events from the parent ComboCtrl. Events not + # handled should be skipped, as usual. + def OnComboKeyEvent(self, event): + self.log.write("ListCtrlComboPopup.OnComboKeyEvent") + wx.combo.ComboPopup.OnComboKeyEvent(self, event) + + # Implement if you need to support special action when user + # double-clicks on the parent wxComboCtrl. + def OnComboDoubleClick(self): + self.log.write("ListCtrlComboPopup.OnComboDoubleClick") + wx.combo.ComboPopup.OnComboDoubleClick(self) + + # Return final size of popup. Called on every popup, just prior to OnPopup. + # minWidth = preferred minimum width for window + # prefHeight = preferred height. Only applies if > 0, + # maxHeight = max height for window, as limited by screen size + # and should only be rounded down, if necessary. + def GetAdjustedSize(self, minWidth, prefHeight, maxHeight): + self.log.write("ListCtrlComboPopup.GetAdjustedSize: %d, %d, %d" % (minWidth, prefHeight, maxHeight)) + return wx.combo.ComboPopup.GetAdjustedSize(self, minWidth, prefHeight, maxHeight) + + # Return true if you want delay the call to Create until the popup + # is shown for the first time. It is more efficient, but note that + # it is often more convenient to have the control created + # immediately. + # Default returns false. + def LazyCreate(self): + self.log.write("ListCtrlComboPopup.LazyCreate") + return wx.combo.ComboPopup.LazyCreate(self) + + +class PropertyRowItem( ): + def __init__( self, parent, name ): + self.sizer = wx.BoxSizer( wx.HORIZONTAL ) + + labelTextCtrl = wx.TextCtrl( parent, -1, name, + style = wx.NO_BORDER | wx.ALIGN_LEFT ) + self.rowHeight = labelTextCtrl.GetSize()[ 1 ] + labelTextCtrl.SetEditable( False ) + self.sizer.Add( labelTextCtrl, 0, wx.EXPAND | wx.ALIGN_RIGHT ) + +class PropertyRowItemName( PropertyRowItem ): + def __init__( self, parent, name, value = "" ): + PropertyRowItem.__init__( self, parent, name ) + self.valueTextCtrl = wx.TextCtrl( parent, -1, value, + size = wx.Size( 30, self.rowHeight ), + style = wx.NO_BORDER | wx.ALIGN_LEFT | wx.EXPAND) + self.sizer.AddSpacer( 1 ) + self.sizer.Add( self.valueTextCtrl, 1, wx.EXPAND | wx.ALIGN_LEFT ) + +class PropertyRowItemSlider( PropertyRowItem ): + def __init__( self, parent, name, start = 0, end = 100, format = SLIDER_INT, cback = None ): + PropertyRowItem.__init__( self, parent, name ) + self.format = format + self.cback = cback + self.value = 0 + self.start = start + self.end = end + self.sliderValue = 0 + + if self.format == SLIDER_INT: + self.sliderStart = start + self.sliderEnd = end + else: + self.sliderStart = 0 + self.sliderEnd = 100 + + self.scale = float( self.end - self.start )/( self.sliderEnd - self.sliderStart ) + + self.valueTextCtrl = wx.TextCtrl( parent, -1, "", + size = wx.Size( 30, self.rowHeight ), + style = wx.NO_BORDER | wx.ALIGN_LEFT | wx.EXPAND) + + self.slider = wx.Slider( parent, -1, self.sliderValue, self.sliderStart, self.sliderEnd, + size = wx.Size( 100, self.rowHeight ), + style = wx.NO_BORDER | wx.NO_3D ) + + self.sizer.AddSpacer( 1 ) + self.sizer.Add( self.valueTextCtrl, 0, wx.EXPAND | wx.ALIGN_LEFT ) + self.sizer.Add( self.slider, 1, wx.EXPAND | wx.ALIGN_LEFT ) + self.slider.Bind(wx.EVT_SLIDER, self.OnSlide ) + + def OnSlide(self, event): + val = event.GetEventObject().GetValue() + self.value = self.start + self.scale * val; + self.applyValue() + + def setValue(self, value): + self.value = value + self.applyValue( False ) + + def applyValue( self, update = True ): + if self.format == SLIDER_INT: + self.valueTextCtrl.SetValue( "%d" % self.value ) + else: + self.valueTextCtrl.SetValue( "%.1g" % self.value ) + + self.slider.SetValue( (self.value -self.start)/ self.scale ) + + if update == True: + if self.cback != None: + self.cback( self.value ) + +class PropertyRowItemChoice( PropertyRowItem ): + def __init__( self, parent, name, itemList = None, itemMap = None, cback = None): + PropertyRowItem.__init__( self, parent, name ) + + self.cback = cback + self.value = "None" + + if itemList != None: + self.ITEMDICT = False + self.itemList = itemList + elif itemMap != None: + self.ITEMDICT = True + self.itemList = itemMap + + self.choice = wx.combo.ComboCtrl( parent, -1, + size = wx.Size( 100, self.rowHeight ), + style = wx.NO_BORDER | wx.NO_3D | wx.CB_READONLY ) + + #self.choice.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + + self.popup = ListCtrlComboPopup( cback = self.choiceChanged ) + self.popup.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + + self.choice.SetPopupControl( self.popup ) + + + if self.ITEMDICT == False: + for i in self.itemList: + self.popup.AddItem( i ) + else: + for i in self.itemList: + self.popup.AddItem( i[ 1 ] ) + + self.sizer.AddSpacer( 1 ) + self.sizer.Add( self.choice, 1, wx.EXPAND | wx.ALIGN_LEFT ) + + def choiceChanged(self, idx): + if self.ITEMDICT == False: + self.value = self.itemList[ idx ] + else: + self.value = self.itemList[idx][ 0 ] + + self.applyValue() + + def setValue(self, value): + self.value = value + self.applyValue( False ) + + def applyValue( self, update = True ): + #print self.value + #item = self.value in self.itemList + # for val in self.itemList: +# if self.ITEMDICT == False: +# if self.value == val: +# item = val +# else: +# if self.value == val[0]: +# item = val +# print item + + if update == True: + if self.cback != None: + self.cback( self.value ) + +class PropertyRowItemColourSelect( PropertyRowItemName ): + def __init__( self, parent, name, cback = None ): + PropertyRowItemName.__init__( self, parent, name ) + self.cback = cback + self.value = wx.Colour(0,0,0) + + self.colourButton = csel.ColourSelect( parent, -1, "", + colour = self.value, + size = wx.Size( self.rowHeight,self.rowHeight ), + style = wx.NO_BORDER ) + + self.sizer.AddSpacer( 1 ) + self.sizer.Add( self.colourButton, 0, wx.EXPAND ) + self.colourButton.Bind( csel.EVT_COLOURSELECT, self.OnColour ) + + def OnColour(self, event): + self.value = event.GetValue() + self.applyValue() + + def setValue(self, value): + self.value = value + self.applyValue( False ) + + def applyValue( self, update = True ): + self.valueTextCtrl.SetValue( "%d,%d,%d" % (self.value[0],self.value[1],self.value[2]) ) + self.colourButton.SetColour( self.value ) + if update == True: + if self.cback != None: + self.cback( self.value ) + + +class PropertyGrid( ): + def __init__(self): + self.sizer = wx.BoxSizer( wx.VERTICAL ) + self.SetSizer( self.sizer ) + self.widthCol0 = 70 + self.widthCol2 = 24 + self.xOffset = 17 + + def appendRow(self, row ): + self.sizer.AddSpacer(1) + self.sizer.Add( row.sizer, 0, wx.EXPAND ) + + def appendRowItemName(self, name, value = "" ): + item = PropertyRowItemName( self.pane, name, value ) + self.appendRow( item ) + return item + + def appendRowItemChoice(self, name, itemList = None, itemMap = None, cback = None ): + item = PropertyRowItemChoice( self.pane, name, itemList, itemMap, cback ) + self.appendRow( item ) + return item + + def appendRowItemSlider(self, name, start = 0, end = 100, format = SLIDER_INT, cback = None ): + item = PropertyRowItemSlider( self.pane, name, start, end, format, cback ) + self.appendRow( item ) + return item + + def appendRowItemColourSelect( self, name, cback = None ): + item = PropertyRowItemColourSelect( self.pane, name, cback ) + self.appendRow( item ) + return item + + def appendPane(self, pane ): + self.sizer.AddSpacer(1) + self.sizer.Add( pane, 0, wx.EXPAND ) + + def appendPaneColourSelect( self, name, cfront = None, cback = None ): + pane = PropertyPaneItemColour( self.pane, name, cfront, cback ) + self.appendPane( pane ) + return pane + + +class PropertyPaneItem( wx.CollapsiblePane, PropertyGrid ): + def __init__(self, parent, name): + + wx.CollapsiblePane.__init__( self, parent, -1, name, + style = wx.CP_DEFAULT_STYLE + | wx.CP_NO_TLW_RESIZE ) + PropertyGrid.__init__(self) + + + self.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + self.Bind(wx.EVT_COLLAPSIBLEPANE_CHANGED, self.OnPaneChanged ) + + self.pane = self.GetPane() + self.pane.SetFont( wx.Font( 8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "" ) ) + self.sizer = wx.BoxSizer( wx.VERTICAL ) + self.pane.SetSizer( self.sizer ) + + def OnPaneChanged(self, event = None): + if event: + if ( event.Collapsed ): + event.GetEventObject().GetPane().Hide() + else: + event.GetEventObject().GetPane().Show() + parent = self.GetParent().Layout() + + +class PropertyPaneItemColour( PropertyPaneItem ): + def __init__( self, parent, name, cfront = None, cback = None ): + PropertyPaneItem.__init__(self, parent, name) + self.cback = cback + self.cfront = cfront + self.value = [0, 0, 0, 0] + self.scale = 255.0 + + self.c = self.appendRowItemColourSelect( "Colour", cback = self.setRGB ) + self.r = self.appendRowItemSlider( "red", 0, 255, cback = self.setRed ) + self.g = self.appendRowItemSlider( "green", 0, 255, cback = self.setGreen ) + self.b = self.appendRowItemSlider( "blue", 0, 255, cback = self.setBlue ) + self.a = self.appendRowItemSlider( "alpha", 0, 255, cback = self.setAlpha ) + + if self.cfront != None: + colour = self.cfront() + self.value = map(lambda x: x * self.scale, [colour[0], colour[1], colour[2], colour[3]] ) + self.applyValue( False ) + + def setRGB(self, value): + self.value[0:3] = value + self.applyValue() + def setRed(self, value): + self.value[0] = value + self.applyValue() + def setGreen(self, value): + self.value[1] = value + self.applyValue() + def setBlue(self, value): + self.value[2] = value + self.applyValue() + def setAlpha(self, value): + self.value[3] = value + self.applyValue() + + def applyValue(self, update = True ): + self.r.setValue( self.value[ 0 ] ) + self.g.setValue( self.value[ 1 ] ) + self.b.setValue( self.value[ 2 ] ) + self.a.setValue( self.value[ 3 ] ) + self.c.setValue( self.value ) + if update == True: + if self.cback != None: + self.cback( map(lambda x: x / self.scale, self.value) ) + + +class PropertyMainGrid( wx.Panel, PropertyGrid ): + def __init__(self, *argc, **argv): + argv["style"] = wx.TAB_TRAVERSAL + wx.Panel.__init__(self, *argc, **argv) + PropertyGrid.__init__(self) + self.SetFont(wx.Font(8, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + #self.SetBackgroundColour( wx.Colour(200, 200, 200) ) + + self.pane = self + + def clean( self ): + self.sizer.Clear( True ) + self.sizer.Layout() + Added: branches/ogEditor/PythonOgreConfig.py =================================================================== --- branches/ogEditor/PythonOgreConfig.py (rev 0) +++ branches/ogEditor/PythonOgreConfig.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,43 @@ +#!/usr/bin/env python +# a single config file that is imported 'first' by the Python-Ogre demos +# this is primarly used to manage Linux demos when we have binaries in non standard (safe) locations + +import os,sys + +######################################################################### +### Override this setting if you are using non standard locations + +libpath = "/home/carsten/local/python-ogre.work/root/usr/lib" +libpathpyton = "/home/carsten/local/python-ogre.work/root/usr/lib64/" + +######################################################################### + +if os.name == 'nt': + libpath="" + libpathpyton="" + pythonpath = "" +else: + if libpathpyton == "" : # we need to find this ourselves + localpath = os.path.abspath(os.path.dirname(__file__) ) # assume that this module is in the ./demos directory + libpathpyton = os.path.abspath(os.path.join(localpath,'../lib')) # so in the binary release the lib is one path back up + if not os.path.exists ( libpathpyton ): #we must be running from the development environment + libpathpyton = os.path.abspath(os.path.join(localpath,'../../root/usr/lib')) + if not os.path.exists ( libpathpyton ): + ## should die here + print "**Problem finding libraries" + libpathpyton=localpath + + ## path to the Python-Ogre modules + pythonpath = os.path.abspath(os.path.join(libpathpyton, 'python2.5/site-packages') ) + ## and insert it into the system path + sys.path.insert(0,pythonpath) + + ## now we need to set the library path so the shared libraries can be found + try: + ldpath = os.environ['LD_LIBRARY_PATH'] + except: + ldpath="" + newldpath = libpath + ":" + ldpath + os.environ['LD_LIBRARY_PATH'] = newldpath + os.putenv('LD_LIBRARY_PATH', newldpath) + print "export LD_LIBRARY_PATH=%s" % os.environ['LD_LIBRARY_PATH'] Added: branches/ogEditor/ResourceTreePane.py =================================================================== --- branches/ogEditor/ResourceTreePane.py (rev 0) +++ branches/ogEditor/ResourceTreePane.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,68 @@ +import wx +import wx.lib.customtreectrl as CT +import ogre.renderer.OGRE as ogre + +class MyCustomTree( CT.CustomTreeCtrl ): + def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, + style=wx.TR_DEFAULT_STYLE, ctstyle=0, validator=wx.DefaultValidator, + name="MyCustomTreeCtrl"): + CT.CustomTreeCtrl.__init__(self, parent, id, pos, size, style, ctstyle, validator, name) + + def OnInternalIdle(self): + wx.PyScrolledWindow.OnInternalIdle( self ) + CT.CustomTreeCtrl.OnInternalIdle( self ) + + +class ResourceTreePane( MyCustomTree ): + def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.DefaultSize, + style=wx.TR_DEFAULT_STYLE, ctstyle=0, validator=wx.DefaultValidator, + name="MyCustomTreeCtrl"): + CT.CustomTreeCtrl.__init__(self, parent, id, pos, size, style, ctstyle, validator, name) + + CT.CustomTreeCtrl.SetConnectionPen( self, wx.Pen( wx.Colour(100,100,100), 1, wx.SOLID) ) + CT.CustomTreeCtrl.SetFont( self, wx.Font( 8, wx.FONTFAMILY_DEFAULT, wx.TR_DEFAULT_STYLE, wx.FONTWEIGHT_NORMAL ) ) + + def OnInternalIdle(self): + wx.PyScrolledWindow.OnInternalIdle( self ) + CT.CustomTreeCtrl.OnInternalIdle( self ) + + def addItem( self, node, name, data ): + newNode = self.AppendItem( node, name ) + self.SetPyData( newNode, data ) + return newNode + + def buildResourceTree( self ): + root = self.AddRoot( "Ogre resources" ) + resManNode = self.AppendItem( root, "Resource manager" ) + + resManIter = ogre.ResourceGroupManager.getSingleton().getResourceManagerIterator() + while resManIter.hasMoreElements(): + resManNodeIter = self.addItem( resManNode, resManIter.peekNextKey(), resManIter.peekNextValue() ) + resIter = resManIter.peekNextValue().getResourceIterator() + while resIter.hasMoreElements(): + self.addItem( resManNodeIter, resIter.peekNextValue().getName(), resIter.peekNextValue() ) + resIter.getNext() + + resManIter.getNext() + + resGroupManNode = self.addItem( root, "Resource groups", ogre.ResourceGroupManager.getSingleton() ) + + resGroups = ogre.ResourceGroupManager.getSingleton().getResourceGroups( ) + for resGroupName in resGroups: + resGroupNode = self.addItem( resGroupManNode, resGroupName, None ) + + resLocNode = self.addItem( resGroupNode, "Resource locations", None ) + + resLocationList = ogre.ResourceGroupManager.getSingleton().getResourceDeclarationList( resGroupName ) + for resLocation in resLocationList: + print resLocation.resourceName + self.addItem( resLocNode, resLocation.resourceName, None ) + + resNameNode = self.addItem( resGroupNode, "Resources", None ) + resNameList = ogre.ResourceGroupManager.getSingleton().listResourceNames( resGroupName ) + for res in resNameList: + self.addItem( resNameNode, res, None ); + + # this fails ??? + #fileInfoList = ogre.ResourceGroupManager.getSingleton().findResourceFileInfo( "General", "*.png") + #fileNameList = ogre.ResourceGroupManager.getSingleton().listResourceFileInfo( resGroupName ) Added: branches/ogEditor/build.wxogre_util.sh =================================================================== --- branches/ogEditor/build.wxogre_util.sh (rev 0) +++ branches/ogEditor/build.wxogre_util.sh 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,8 @@ +#! /bin/bash + +#RELEASE=ansi-release-2.6 +#RELEASE=unicode-release-2.6 +RELEASE=unicode-release-2.8 + +g++ -shared -fPIC `/usr/lib/wx/config/gtk2-$RELEASE --cflags` `pkg-config gtk+-2.0 --cflags` `/usr/lib/wx/config/gtk2-$RELEASE --libs` `pkg-config gtk+-2.0 --libs` -lGL wxogre_util.cpp -o libwxogre_util.so + Property changes on: branches/ogEditor/build.wxogre_util.sh ___________________________________________________________________ Name: svn:executable + * Added: branches/ogEditor/ogEditor.py =================================================================== --- branches/ogEditor/ogEditor.py (rev 0) +++ branches/ogEditor/ogEditor.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,276 @@ +#!/usr/bin/env python +# -*- coding: ansi_x3.4-1968 -*- + +import wxversion +wxversion.ensureMinimal('2.8') + +import wx +import wx.aui +import wx.py as py +import wx.lib.customtreectrl as CT + +from OgreWindowWx import * +from ObjectInspectorPanels import * +from ResourceTreePane import * + +class OGView3D( OgreWindow ): + def _PopulateScene(self): + #automatic called by parent init +# self.headEnt = self.sceneManager.createEntity("ogreHead", "athene.mesh") + self.headEnt = self.sceneManager.createEntity("ogreHead", "ogrehead.mesh") + self.headNode = self.sceneManager.getRootSceneNode().createChildSceneNode( ) + self.headNode.attachObject( self.headEnt ) + #self.sceneManager.setAmbientLight( (0.0, 0.0, 1.0, 1.0) ) + +ID_MB_FILE_EXIT = wx.NewId() +ID_MB_VIEW_SCENETREE = wx.NewId() +ID_MB_VIEW_OBJECT = wx.NewId() +ID_MB_VIEW_RESOURCE = wx.NewId() +ID_MB_VIEW_PYCRUST = wx.NewId() +ID_TB_EXIT = wx.NewId() +ID_TB_TMP = wx.NewId() + +NAME_SCENETREE = "Scene tree" +NAME_OBJECT = "Property inspector" +NAME_RESOURCE = "Resource browser" +NAME_PYCRUST = "PyCrust" + +class MainFrame(wx.Frame): + def __init__(self, *args, **kwds): + kwds["style"] = wx.DEFAULT_FRAME_STYLE + wx.Frame.__init__(self, *args, **kwds) + self.SetSize( wx.Size( 1024, 768 ) ) + + self.initMenuBar_() + self.initToolBar_() + self.initStatusBar_() + self.initFrameManager_() + + self.setDefaultProperties_(); + self.auiMgr.Update() + + def initMenuBar_( self ): + self.mb = wx.MenuBar() + + self.mbFile = wx.Menu() + self.mbFile.Append( wx.ID_EXIT, "E&xit" ) + self.mb.Append( self.mbFile, "&File" ) + + self.mbView = wx.Menu() + self.mbViewScenetree = wx.MenuItem( self.mbView, ID_MB_VIEW_SCENETREE, NAME_SCENETREE + "\tF1", "", wx.ITEM_CHECK) + self.mbViewObject = wx.MenuItem( self.mbView, ID_MB_VIEW_OBJECT, NAME_OBJECT + "\tF2", "", wx.ITEM_CHECK) + self.mbViewResource = wx.MenuItem( self.mbView, ID_MB_VIEW_RESOURCE, NAME_RESOURCE + "\tF3", "", wx.ITEM_CHECK) + self.mbViewPyCrust = wx.MenuItem( self.mbView, ID_MB_VIEW_PYCRUST, NAME_PYCRUST + "\tF9", "", wx.ITEM_CHECK) + self.mbView.AppendItem( self.mbViewScenetree ) + self.mbView.AppendItem( self.mbViewObject ) + self.mbView.AppendItem( self.mbViewResource ) + self.mbView.AppendItem( self.mbViewPyCrust ) + self.mb.Append( self.mbView, "&View") + + self.SetMenuBar( self.mb ) + + self.Bind( wx.EVT_MENU, self.doExit, id = wx.ID_EXIT ) + self.Bind( wx.EVT_MENU, self.doSwitchViewPane, id = ID_MB_VIEW_SCENETREE) + self.Bind( wx.EVT_MENU, self.doSwitchViewPane, id = ID_MB_VIEW_OBJECT) + self.Bind( wx.EVT_MENU, self.doSwitchViewPane, id = ID_MB_VIEW_RESOURCE) + self.Bind( wx.EVT_MENU, self.doSwitchViewPane, id = ID_MB_VIEW_PYCRUST) + + def initToolBar_( self ): + self.tb = wx.ToolBar(self, -1) + self.SetToolBar( self.tb ) + self.tb.AddLabelTool( ID_TB_EXIT, "Exit", wx.ArtProvider_GetBitmap(wx.ART_QUIT), + wx.NullBitmap, wx.ITEM_NORMAL, "", "") + self.tb.AddLabelTool( ID_TB_TMP, "Up", wx.ArtProvider_GetBitmap(wx.ART_QUESTION), + wx.NullBitmap, wx.ITEM_NORMAL, "", "") + + self.Bind( wx.EVT_TOOL, self.doExit, id = ID_TB_EXIT ) + self.Bind( wx.EVT_TOOL, self.UpdateSceneGraphEvent, id = ID_TB_TMP ) + + self.tb.Realize() + + def initStatusBar_( self ): + self.sb = self.CreateStatusBar(1, 0) +# statusbar_fields = ["frame_1_statusbar"] +# for i in range(len(frame_1_statusbar_fields)): +# self.frame_1_statusbar.SetStatusText(frame_1_statusbar_fields[i], i) + + + def initFrameManager_( self ): + self.auiMgr = wx.aui.AuiManager() + self.auiMgr.SetManagedWindow( self ) + + self.auiMgr.AddPane( self.createRenderWindow_(), + wx.aui.AuiPaneInfo().Name("OgreRenderWindow").CenterPane() ) + + self.auiMgr.AddPane( self.createCrustWindow_(), + wx.aui.AuiPaneInfo().Name( NAME_PYCRUST ).Caption( NAME_PYCRUST ). + BestSize( wx.Size( 200, 100 ) ).MinSize( wx.Size( 200, 100 ) ). + Bottom().Layer( 1 ).CloseButton(True).MaximizeButton(True)) + + self.auiMgr.AddPane( self.createSceneTree_(), + wx.aui.AuiPaneInfo().Name( NAME_SCENETREE ).Caption( NAME_SCENETREE ). + BestSize( wx.Size( 250, 200 ) ).MinSize( wx.Size( 250, 200 ) ). + Left().Layer( 1 ).Position( 1 ).CloseButton(True).MaximizeButton(True)) + + self.auiMgr.AddPane( self.createObjectInspector_(), + wx.aui.AuiPaneInfo().Name( NAME_OBJECT ).Caption( NAME_OBJECT ). + BestSize( wx.Size( 250, 200 ) ).MinSize( wx.Size( 250, 200 ) ). + Left().Layer( 1 ).Position( 2 ).CloseButton(True).MaximizeButton(True)) + + self.auiMgr.AddPane( self.createResourceInspector_(), + wx.aui.AuiPaneInfo().Name( NAME_RESOURCE ).Caption( NAME_RESOURCE ). + BestSize( wx.Size( 250, 200 ) ).MinSize( wx.Size( 250, 200 ) ). + Left().Layer( 1 ).Position( 3 ).CloseButton(True).MaximizeButton(True)) + self.Bind( wx.aui.EVT_AUI_PANE_CLOSE, self.doClosePane ) + +################################################################################# +# create panes +################################################################################# + + def createRenderWindow_( self ): + self.ogreRenderWindow = OGView3D( self, -1 ) + return self.ogreRenderWindow + + def createCrustWindow_( self ): + self.crust = wx.py.crust.Crust(self, -1) + return self.crust + + def createSceneTree_( self ): + self.sceneTree = MyCustomTree( self, -1, wx.Point(0, 0), wx.Size(160, 250), + style=wx.SUNKEN_BORDER | CT.TR_HAS_BUTTONS | + CT.TR_HAS_VARIABLE_ROW_HEIGHT | wx.WANTS_CHARS | wx.TR_TWIST_BUTTONS ) + self.sceneTree.SetConnectionPen( wx.Pen( wx.Colour(100,100,100), 1, wx.SOLID) ) + self.sceneTree.SetFont( wx.Font( 8, wx.FONTFAMILY_DEFAULT, wx.TR_DEFAULT_STYLE, wx.FONTWEIGHT_NORMAL ) ) + + il = wx.ImageList(12, 12) + self.SceneNodeIconID = il.Add( wx.ArtProvider_GetBitmap( wx.ART_GO_FORWARD, wx.ART_TOOLBAR, ( 12, 12 ) ) ) + self.SceneEntityIconID = il.Add( wx.ArtProvider_GetBitmap( wx.ART_TICK_MARK, wx.ART_TOOLBAR, ( 12, 12 ) ) ) + self.SceneUnknownIconID = il.Add( wx.ArtProvider_GetBitmap( wx.ART_QUESTION, wx.ART_TOOLBAR, ( 12, 12 ) ) ) + + self.sceneTree.AssignImageList( il ) + + self.Bind( wx.EVT_TREE_SEL_CHANGED, self.doSelectTreeObject, self.sceneTree ) + return self.sceneTree + + def createObjectInspector_( self ): + self.objectInspector = ObjectInspectorPanel( self, -1, wx.Point(0, 0), wx.Size(160, 250) ) + return self.objectInspector + + def createResourceInspector_( self ): + self.resourceTree = ResourceTreePane( self, -1, wx.Point( 0, 0 ), wx.Size( 160, 250 ), + wx.TR_DEFAULT_STYLE | wx.NO_BORDER ); + self.Bind( wx.EVT_TREE_SEL_CHANGED, self.doSelectTreeObject, self.resourceTree ) + return self.resourceTree + + def setDefaultProperties_( self ): + self.SetTitle("ogEditor") + self.sb.SetStatusWidths([-1]) + + self.mbViewScenetree.Check( ) + self.auiMgr.GetPane( NAME_SCENETREE ).Show() + + self.mbViewObject.Check( ) + self.auiMgr.GetPane( NAME_OBJECT ).Show() + + self.mbViewResource.Check( False ) + self.auiMgr.GetPane( NAME_RESOURCE ).Hide() + + self.mbViewPyCrust.Check( False ) + self.auiMgr.GetPane( NAME_PYCRUST ).Hide() + + self.UpdateSceneGraphEvent( None ) + self.resourceTree.buildResourceTree( ) + +################################################################################# +# events +################################################################################# + + def doExit( self, event ): + self.Close( True ) + event.Skip() + + def doClosePane( self, event ): + caption = event.GetPane().caption + if caption == NAME_SCENETREE: + self.mb.Check( ID_MB_VIEW_SCENETREE, False ) + elif caption == NAME_OBJECT: + self.mb.Check( ID_MB_VIEW_OBJECT, False ) + elif caption == NAME_RESOURCE: + self.mb.Check( ID_MB_VIEW_RESOURCE, False ) + elif caption == NAME_PYCRUST: + self.mb.Check( ID_MB_VIEW_PYCRUST, False ) + + def doSwitchViewPane( self, event ): + if event.GetId() == ID_MB_VIEW_SCENETREE: + pane = self.auiMgr.GetPane( NAME_SCENETREE ) + elif event.GetId() == ID_MB_VIEW_OBJECT: + pane = self.auiMgr.GetPane( NAME_OBJECT ) + elif event.GetId() == ID_MB_VIEW_RESOURCE: + pane = self.auiMgr.GetPane( NAME_RESOURCE ) + elif event.GetId() == ID_MB_VIEW_PYCRUST: + pane = self.auiMgr.GetPane( NAME_PYCRUST ) + + if event.IsChecked(): + pane.Show( ) + else: + pane.Hide() + self.auiMgr.Update() + event.Skip() + + def doSelectTreeObject( self, event ): + self.objectInspector.showData( event.GetEventObject().GetPyData( event.GetEventObject().GetSelection() ) ); + event.Skip() + +################################################################################# +# utils +################################################################################# + + def UpdateSceneGraphEvent(self, event): + root = self.sceneTree.AddRoot( "SceneManager" ) + self.sceneTree.SetPyData( root, self.ogreRenderWindow.sceneManager ) + + rootSceneNode = self.ogreRenderWindow.sceneManager.getRootSceneNode() + rootSceneNodeTreeNode = self.sceneTree.AppendItem( root, rootSceneNode.getName() ) + self.sceneTree.SetPyData( rootSceneNodeTreeNode, rootSceneNode ) + + self.dumpSceneNode_( rootSceneNodeTreeNode, rootSceneNode ) + self.sceneTree.Expand( root ) + if event != None: + event.Skip() + + def dumpSceneNode_( self, treenode, scenenode ): + node_it = scenenode.getChildIterator() + while node_it.hasMoreElements(): + nextnode = node_it.getNext() +# print nextnode.getName() + nexttreenode = self.sceneTree.AppendItem( treenode, nextnode.getName(), 1 ) + self.sceneTree.SetItemImage(nexttreenode, self.SceneNodeIconID, CT.TreeItemIcon_Normal) + self.sceneTree.SetItemImage(nexttreenode, self.SceneNodeIconID, CT.TreeItemIcon_Selected) + self.sceneTree.SetPyData( nexttreenode, nextnode ) + + self.dumpAttachedMovableObjects_( nexttreenode, nextnode ) + self.dumpSceneNode_( nexttreenode, nextnode ) + + def dumpAttachedMovableObjects_( self, treenode, scenenode ): + object_it = scenenode.getAttachedObjectIterator() + while object_it.hasMoreElements(): + m = object_it.getNext() + item = self.sceneTree.AppendItem( treenode, m.getMovableType() + "-" + m.getName() ) + + if m.getMovableType() == "Entity": + id = self.SceneEntityIconID + else: + id = self.SceneUnknownIconID + + self.sceneTree.SetItemImage(item, id, CT.TreeItemIcon_Normal) + self.sceneTree.SetItemImage(item, id, CT.TreeItemIcon_Selected) + self.sceneTree.SetPyData( item, m ) + +if __name__ == "__main__": + ogEditor = wx.PySimpleApp(0) + wx.InitAllImageHandlers() + mainFrame = MainFrame(None, -1, "") + ogEditor.SetTopWindow(mainFrame) + mainFrame.Show() + mainFrame.ogreRenderWindow.StartRendering() + ogEditor.MainLoop() Property changes on: branches/ogEditor/ogEditor.py ___________________________________________________________________ Name: svn:executable + * Added: branches/ogEditor/ogEditor.sh =================================================================== --- branches/ogEditor/ogEditor.sh (rev 0) +++ branches/ogEditor/ogEditor.sh 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,3 @@ +export LD_LIBRARY_PATH=~/local/python-ogre.work/root/usr/lib +export PYTHONPATH=/home/carsten/local/python-ogre.work/root/usr/lib64/python2.5/site-packages +python ogEditor.py Added: branches/ogEditor/ogre.cfg =================================================================== --- branches/ogEditor/ogre.cfg (rev 0) +++ branches/ogEditor/ogre.cfg 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,7 @@ +Render System=OpenGL Rendering Subsystem + +[OpenGL Rendering Subsystem] +FSAA=0 +Full Screen=Yes +RTT Preferred Mode=FBO +Video Mode=800 x 600 Added: branches/ogEditor/plugins.cfg =================================================================== --- branches/ogEditor/plugins.cfg (rev 0) +++ branches/ogEditor/plugins.cfg 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,20 @@ +# Defines plugins to load + +## Use this for Windows +# Define plugin folder +PluginFolder=/home/carsten/local/python-ogre.work/root/usr/lib/OGRE +#PluginFolder=/usr/lib/OGRE +#Plugin=RenderSystem_GL.dll +#Plugin=RenderSystem_Direct3D9.dll +#Plugin=Plugin_ParticleFX.dll +#Plugin=Plugin_BSPSceneManager.dll +#Plugin=Plugin_OctreeSceneManager.dll +#Plugin=Plugin_CgProgramManager.dll + +## +## NOTE use this for MacOS or Linux +Plugin=RenderSystem_GL +Plugin=Plugin_ParticleFX +#Plugin=Plugin_BSPSceneManager +#Plugin=Plugin_OctreeSceneManager +Plugin=Plugin_CgProgramManager Added: branches/ogEditor/propgridtest.py =================================================================== --- branches/ogEditor/propgridtest.py (rev 0) +++ branches/ogEditor/propgridtest.py 2008-02-04 22:24:41 UTC (rev 883) @@ -0,0 +1,49 @@ + +import wxversion +wxversion.ensureMinimal('2.8') + +from PropertyGrid import * + +import sys +import wx + +class testClass(): + def printValue(self, value): + print "Here am I with:", value + +class MainFrame(wx.Frame): + def __init__(self, *args, **kwds): + kwds["style"] = wx.DEFAULT_FRAME_STYLE + wx.Frame.__init__(self, *args, **kwds) + + test = testClass() + + self.SetSize( wx.Size( 800, 600 ) ) + self.propertyGrid = PropertyMainGrid( self, -1, wx.DefaultPosition, wx.DefaultSize ) + + self.propertyGrid.appendRowItemName( "Main", "name" ) + self.propertyGrid.append... [truncated message content] |