From: <Ult...@us...> - 2009-02-07 20:21:22
|
Revision: 1012 http://opengate.svn.sourceforge.net/opengate/?rev=1012&view=rev Author: Ultrasick Date: 2009-02-07 20:21:04 +0000 (Sat, 07 Feb 2009) Log Message: ----------- adding some graphics which I am using in the new GUI Added Paths: ----------- trunk/data/gui/graphic/ trunk/data/gui/graphic/screens/ trunk/data/gui/graphic/screens/options/ trunk/data/gui/graphic/screens/options/background.png trunk/data/gui/graphic/screens/options/buttons/ trunk/data/gui/graphic/screens/options/buttons/category/ trunk/data/gui/graphic/screens/options/buttons/category/selected.png trunk/data/gui/graphic/screens/options/buttons/checkbox/ trunk/data/gui/graphic/screens/options/buttons/checkbox/checked_-_mouse_out.png trunk/data/gui/graphic/screens/options/buttons/checkbox/checked_-_mouse_over.png trunk/data/gui/graphic/screens/options/buttons/checkbox/unchecked_-_mouse_out.png trunk/data/gui/graphic/screens/options/buttons/checkbox/unchecked_-_mouse_over.png trunk/data/gui/graphic/screens/options/status_bar/ trunk/data/gui/graphic/screens/options/status_bar/0.png trunk/data/gui/graphic/screens/options/status_bar/100.png trunk/data/gui/graphic/screens/options/status_bar/33.png trunk/data/gui/graphic/screens/options/status_bar/67.png trunk/data/gui/graphic/screens/options/white_backgrounds/ trunk/data/gui/graphic/screens/options/white_backgrounds/198x24.png trunk/data/gui/graphic/screens/options/white_backgrounds/198x65.png trunk/data/gui/graphic/screens/options/window.png trunk/data/gui/graphic/screens/station/ trunk/data/gui/graphic/screens/station/backgrounds/ trunk/data/gui/graphic/screens/station/backgrounds/content.png trunk/data/gui/graphic/screens/station/backgrounds/tauseti.png trunk/data/gui/graphic/screens/station/buttons/ trunk/data/gui/graphic/screens/station/buttons/grey/ trunk/data/gui/graphic/screens/station/buttons/grey/down/ trunk/data/gui/graphic/screens/station/buttons/grey/down/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/grey/down/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/grey/left/ trunk/data/gui/graphic/screens/station/buttons/grey/left/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/grey/left/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/grey/left/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/grey/right/ trunk/data/gui/graphic/screens/station/buttons/grey/right/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/grey/right/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/grey/right/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/grey/up/ trunk/data/gui/graphic/screens/station/buttons/grey/up/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/grey/up/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/help/ trunk/data/gui/graphic/screens/station/buttons/help/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/help/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/help/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/map/ trunk/data/gui/graphic/screens/station/buttons/map/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/map/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/map/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/options/ trunk/data/gui/graphic/screens/station/buttons/options/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/options/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/options/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/ trunk/data/gui/graphic/screens/station/buttons/scrollbar/down/ trunk/data/gui/graphic/screens/station/buttons/scrollbar/down/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/down/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/down/mouse_over.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/up/ trunk/data/gui/graphic/screens/station/buttons/scrollbar/up/mouse_down.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/up/mouse_out.png trunk/data/gui/graphic/screens/station/buttons/scrollbar/up/mouse_over.png trunk/data/gui/graphic/screens/station/content/ trunk/data/gui/graphic/screens/station/content/market/ trunk/data/gui/graphic/screens/station/content/market/backgrounds/ trunk/data/gui/graphic/screens/station/content/market/backgrounds/cargo_status.png trunk/data/gui/graphic/screens/station/content/market/backgrounds/category_menu.png trunk/data/gui/graphic/screens/station/content/market/backgrounds/infobox.png trunk/data/gui/graphic/screens/station/content/market/backgrounds/private_cargo_hold.png trunk/data/gui/graphic/screens/station/content/market/backgrounds/public_market.png trunk/data/gui/graphic/screens/station/content/market/buttons/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/capacitors/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/capacitors/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/capacitors/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/capacitors/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/commodities/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/commodities/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/commodities/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/commodities/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/ecms/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/ecms/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/ecms/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/ecms/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/engines/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/engines/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/engines/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/engines/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/guns/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/guns/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/guns/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/guns/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/missiles/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/missiles/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/missiles/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/missiles/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/modifications/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/modifications/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/modifications/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/modifications/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/power_plants/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/power_plants/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/power_plants/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/power_plants/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/private_storage_room/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/private_storage_room/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/private_storage_room/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/private_storage_room/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/radars/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/radars/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/radars/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/radars/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/shields/ trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/shields/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/shields/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/icons/shields/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/category/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/item/ trunk/data/gui/graphic/screens/station/content/market/buttons/item/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/item/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/item/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/ trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/down/ trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/down/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/down/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/down/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/up/ trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/up/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/up/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/scrollbar/up/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/show_all/ trunk/data/gui/graphic/screens/station/content/market/buttons/show_all/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/show_all/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/show_all/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/show_all/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/alphabetically/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/alphabetically/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/alphabetically/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/alphabetically/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/alphabetically/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ascending/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ascending/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ascending/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ascending/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/ascending/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/costs/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/costs/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/costs/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/costs/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/costs/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/descending/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/descending/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/descending/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/descending/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/descending/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/quantity/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/quantity/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/quantity/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/quantity/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/quantity/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/rank/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/rank/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/rank/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/rank/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/rank/selected.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/size/ trunk/data/gui/graphic/screens/station/content/market/buttons/sort/size/mouse_down.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/size/mouse_out.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/size/mouse_over.png trunk/data/gui/graphic/screens/station/content/market/buttons/sort/size/selected.png trunk/data/gui/graphic/screens/station/content/market/icons/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/capacitors/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/commodities/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/ecms/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/engines/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/guns/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/missiles/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/modifications/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/power_plants/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/radars/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/ trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/amananth.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/hyperial.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/octavius.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/quantar.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/squadrok.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/tauseti.png trunk/data/gui/graphic/screens/station/content/market/icons/categories/shields/tri_neutral.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/ trunk/data/gui/graphic/screens/station/content/market/icons/sizes/1.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/2.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/3.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/4.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/5.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/6.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/7.png trunk/data/gui/graphic/screens/station/content/market/icons/sizes/8.png trunk/data/gui/graphic/screens/station/surrounding/ trunk/data/gui/graphic/screens/station/surrounding/bottom/ trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/ trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/0.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/1.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/10.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/11.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/12.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/14.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/15.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/16.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/17.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/18.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/19.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/2.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/20.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/22.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/23.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/24.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/25.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/26.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/27.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/28.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/29.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/3.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/30.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/31.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/32.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/33.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/34.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/4.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/5.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/6.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/7.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/8.png trunk/data/gui/graphic/screens/station/surrounding/bottom/air_lock/9.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/english/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/english/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/english/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/german/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/german/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/market/german/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/mission/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/mission/english/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/mission/english/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/mission/english/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/english/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/english/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/english/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/german/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/german/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/ship_configurator/german/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/simulator/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/simulator/english/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/simulator/english/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/simulator/english/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/english/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/english/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/english/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/german/ trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/german/selected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/content_switches/trade/german/unselected.png trunk/data/gui/graphic/screens/station/surrounding/bottom/solid/ trunk/data/gui/graphic/screens/station/surrounding/bottom/solid/left.png trunk/data/gui/graphic/screens/station/surrounding/bottom/solid/right/ trunk/data/gui/graphic/screens/station/surrounding/bottom/solid/right/active.png trunk/data/gui/graphic/screens/station/surrounding/bottom/solid/right/inactive.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/0.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/1.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/10.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/11.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/12.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/14.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/15.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/16.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/17.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/18.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/19.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/2.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/20.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/22.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/23.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/24.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/25.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/26.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/27.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/28.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/29.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/3.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/30.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/31.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/32.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/33.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/34.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/35.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/36.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/37.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/38.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/39.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/4.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/5.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/6.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/7.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/8.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/9.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/amananth/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/amananth/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/amananth/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/hyperial/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/hyperial/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/hyperial/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/octavius/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/octavius/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/octavius/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/quantar/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/quantar/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/quantar/21.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/tauseti/ trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/tauseti/13.png trunk/data/gui/graphic/screens/station/surrounding/bottom/status_bar/icons/tauseti/21.png trunk/data/gui/graphic/screens/station/surrounding/laser/ trunk/data/gui/graphic/screens/station/surrounding/laser/beam/ trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/ trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/10.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/11.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/12.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/13.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/14.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/15.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/16.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/17.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/18.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/19.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/20.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/21.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/22.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/23.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/24.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/25.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/5.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/6.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/7.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/8.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/left/9.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/ trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/10.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/11.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/12.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/13.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/14.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/15.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/16.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/17.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/18.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/19.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/20.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/21.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/22.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/23.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/24.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/25.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/5.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/6.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/7.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/8.png trunk/data/gui/graphic/screens/station/surrounding/laser/beam/right/9.png trunk/data/gui/graphic/screens/station/surrounding/laser/glow/ trunk/data/gui/graphic/screens/station/surrounding/laser/glow/bottom.png trunk/data/gui/graphic/screens/station/surrounding/laser/glow/top.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/ trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/ trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/1.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/10.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/100.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/101.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/102.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/103.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/104.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/105.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/106.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/107.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/108.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/109.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/11.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/110.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/111.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/112.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/113.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/114.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/115.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/116.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/117.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/118.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/119.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/12.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/120.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/121.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/122.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/123.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/124.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/125.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/126.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/127.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/128.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/129.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/13.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/130.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/131.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/132.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/133.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/134.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/135.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/136.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/137.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/138.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/139.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/14.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/140.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/141.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/142.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/143.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/144.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/145.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/146.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/147.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/148.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/149.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/15.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/150.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/151.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/152.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/153.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/154.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/155.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/156.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/157.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/158.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/159.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/16.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/160.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/161.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/162.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/163.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/164.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/165.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/166.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/167.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/168.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/169.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/17.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/170.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/171.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/172.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/173.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/174.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/175.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/176.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/177.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/178.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/179.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/18.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/180.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/181.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/182.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/183.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/184.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/185.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/186.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/187.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/188.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/189.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/19.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/190.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/191.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/192.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/193.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/194.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/195.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/196.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/197.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/198.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/199.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/2.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/20.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/200.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/201.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/202.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/203.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/204.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/205.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/206.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/207.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/208.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/209.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/21.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/210.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/211.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/212.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/213.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/214.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/215.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/216.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/217.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/218.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/219.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/22.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/220.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/221.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/222.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/223.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/224.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/225.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/226.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/227.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/228.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/229.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/23.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/230.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/231.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/232.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/233.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/234.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/235.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/236.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/237.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/238.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/239.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/24.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/240.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/241.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/242.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/243.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/244.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/245.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/246.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/247.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/248.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/249.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/25.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/250.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/251.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/252.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/253.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/254.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/255.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/256.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/257.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/258.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/259.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/26.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/260.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/261.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/262.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/263.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/264.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/265.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/266.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/267.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/268.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/269.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/27.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/270.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/271.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/272.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/273.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/274.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/275.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/276.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/277.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/278.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/279.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/28.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/280.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/281.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/282.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/283.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/284.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/285.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/286.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/287.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/288.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/289.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/29.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/290.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/291.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/292.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/293.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/294.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/295.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/296.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/297.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/298.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/299.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/3.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/30.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/300.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/301.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/302.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/303.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/304.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/305.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/306.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/307.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/308.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/309.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/31.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/310.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/311.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/312.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/313.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/314.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/315.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/316.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/317.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/318.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/319.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/32.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/320.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/321.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/322.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/323.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/324.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/325.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/326.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/327.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/328.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/329.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/33.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/330.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/331.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/332.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/333.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/334.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/335.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/336.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/337.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/338.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/339.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/34.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/340.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/341.png trunk/data/gui/graphic/screens/station/surrounding/laser/logos/tauseti/342.png trunk/data/gui/graphic/screens/s... [truncated message content] |
From: <Ult...@us...> - 2009-02-07 20:32:28
|
Revision: 1017 http://opengate.svn.sourceforge.net/opengate/?rev=1017&view=rev Author: Ultrasick Date: 2009-02-07 20:32:24 +0000 (Sat, 07 Feb 2009) Log Message: ----------- adding new gui which I promised weeks ago. The laser animations are commented out at the moment because I experienced some speed problems with the used GTK+ version. Added Paths: ----------- trunk/data/gui/scripts/ trunk/data/gui/scripts/main/ trunk/data/gui/scripts/main/functions.py trunk/data/gui/scripts/main/variables.py trunk/data/gui/scripts/screens/ trunk/data/gui/scripts/screens/loading/ trunk/data/gui/scripts/screens/loading/index.py trunk/data/gui/scripts/screens/options/ trunk/data/gui/scripts/screens/options/index.py trunk/data/gui/scripts/screens/options/styles.rc trunk/data/gui/scripts/screens/startup/ trunk/data/gui/scripts/screens/startup/index.py trunk/data/gui/scripts/screens/station/ trunk/data/gui/scripts/screens/station/content/ trunk/data/gui/scripts/screens/station/content/market.py trunk/data/gui/scripts/screens/station/content/mission.py trunk/data/gui/scripts/screens/station/content/ship_configurator.py trunk/data/gui/scripts/screens/station/content/simulator.py trunk/data/gui/scripts/screens/station/content/trade.py trunk/data/gui/scripts/screens/station/index.py Added: trunk/data/gui/scripts/main/functions.py =================================================================== --- trunk/data/gui/scripts/main/functions.py (rev 0) +++ trunk/data/gui/scripts/main/functions.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,760 @@ +# -*- coding: cp1252 -*- + +import gobject +from os import listdir +from os import path as check +from os import system +from os import urandom +from string import join +from string import replace +import urllib + +class category_button: + def __init__(self, name, directory, function = none, function_parameter = none, selected = false, icon = false): + # save parameters + self.name = name + self.directory = directory + self.function = function + self.function_parameter = function_parameter + self.selected = selected + self.icon = icon + + # show EventBox + self.EventBox = gtk.EventBox() + + if icon: + self.EventBox.set_size_request(208, 34) + else: + self.EventBox.set_size_request(95, 30) + + self.EventBox.set_visible_window(false) + self.EventBox.show() + + # show container + container = gtk.Fixed() + self.EventBox.add(container) + container.show() + + # show background image + self.background_image = gtk.Image() + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/selected.png') + container.add(self.background_image) + + if self.selected: + self.background_image.show() + + # show caption + self.caption = gtk.Label() + self.caption.text = name + self.caption.set_markup('<span font_desc="Impact 12">' + name + '</span>') + self.caption.modify_fg(gtk.STATE_PRELIGHT, colors['extra bright green']) + self.caption.modify_fg(gtk.STATE_ACTIVE, colors['white']) + + if icon: + container.put(self.caption, 40, 6) + else: + container.put(self.caption, 13, 4) + + if self.selected: + # set caption color to normal + self.caption.set_state(gtk.STATE_PRELIGHT) + else: + # set caption color to normal + self.caption.set_state(gtk.STATE_NORMAL) + + self.caption.show() + + # show if + if icon: + self.icon = gtk.Image() + + if self.selected: + self.icon.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/icons/' + self.caption.text.lower().replace(' ', '_') + '/mouse_over.png') + else: + self.icon.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/icons/' + self.caption.text.lower().replace(' ', '_') + '/mouse_out.png') + + container.put(self.icon, 13, 10) + self.icon.show() + + # define functions + self.EventBox.connect('enter_notify_event', self.Mouse_over) + self.EventBox.connect('leave_notify_event', self.Mouse_out) + self.EventBox.connect('button_press_event', self.Mouse_down) + self.EventBox.connect('button_release_event', self.Mouse_up) + + def Mouse_over(self, widget, event): + self.Mouse_over = true + + # update caption color and icon color + self.update() + + def Mouse_out(self, widget, event): + self.Mouse_over = false + + # update caption color and icon color + self.update() + + def Mouse_down(self, widget, event): + self.Mouse_down = true + + # update caption color and icon color + self.update() + + def Mouse_up(self, widget, event): + self.Mouse_down = false + + if self.Mouse_over==true: + # deactivate all category buttons + for category_button in screen.category_buttons: + category_button.selected = false + + category_button.background_image.hide() + category_button.update() + + # activate this category button + self.selected = true + + self.background_image.show() + + # execute function (if given) + if self.function!=none: + if self.function_parameter==none: + self.function() + else: + self.function(self.function_parameter) + else: + # hide background image + self.background_image.hide() + + # update caption color and icon color + self.update() + + def update(self): + if self.Mouse_over==true and self.Mouse_down==true: + # update caption color + self.caption.set_state(gtk.STATE_ACTIVE) + + if self.icon: + # update icon color + self.icon.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/icons/' + self.caption.text.lower().replace(' ', '_') + '/mouse_down.png') + elif (self.Mouse_over==true and self.Mouse_down!=true) or (self.Mouse_over!=true and self.selected==true): + # update caption color + self.caption.set_state(gtk.STATE_PRELIGHT) + + if self.icon: + # update icon color + self.icon.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/icons/' + self.caption.text.lower().replace(' ', '_') + '/mouse_over.png') + else: + # update caption color + self.caption.set_state(gtk.STATE_NORMAL) + + if self.icon: + # update icon color + self.icon.set_from_file(path[0] + '/graphic/screens/' + self.directory + '/buttons/category/icons/' + self.caption.text.lower().replace(' ', '_') + '/mouse_out.png') + +class config_file: + def __init__(self): + # define user array + global user + user = {} + + # define the display array + global display + display = {} + + # open the config file + file = open(path[0] + '/config.ini', 'r') + + for line in file.readlines(): + # trim whitespaces + line = line.strip() + + # split at the ":" + data = line.split(':') + + try: + # trim whitespaces + data[0] = data[0].strip() + data[1] = data[1].strip() + except: + # failed because there was a line like "username:" in the config file, define data[1] + data.append('') + + if data[0]=='[user]': + # select current array + current_array = user + elif data[0]=='[display]': + # select current array + current_array = display + elif data[0]=='': + # it's an empty line, just pass it + continue + else: + # save the read data into the current array + current_array[data[0]] = data[1] + + # close the config file + file.close() + + def write(self, username, password): + # define output array + output = [] + + # define output + output.append('[user]') + output.append('username: ' + username) + output.append('password: ' + password) + output.append('[display]') + output.append('show startup video: false') + + # open the config file + file = open(path[0] + '/config.ini', 'w') + + # write the output to the file + file.write(join(output, '\n')) + + # close the config file + file.close() + +config_file = config_file() + +class generate_button: + def __init__(self, name, function = none, function_parameter = none, directory = '', group = none, selected = false): + # save parameters + self.name = name + self.function = function + self.function_parameter = function_parameter + self.directory = directory + self.group = group + self.selected = selected + + # show EventBox + self.EventBox = gtk.EventBox() + self.EventBox.set_visible_window(false) + self.EventBox.show() + + # show background image + self.background = gtk.Image() + + if selected==true: + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/selected.png') + else: + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/mouse_out.png') + + self.EventBox.add(self.background) + self.background.show() + + # define functions + self.EventBox.connect('enter_notify_event', self.Mouse_over) + self.EventBox.connect('leave_notify_event', self.Mouse_out) + self.EventBox.connect('button_press_event', self.Mouse_down) + self.EventBox.connect('button_release_event', self.Mouse_up) + + def Mouse_over(self, widget, event): + self.Mouse_over = true + + # update background image + self.update_background() + + def Mouse_out(self, widget, event): + self.Mouse_over = false + + # update background image + self.update_background() + + def Mouse_down(self, widget, event): + self.Mouse_down = true + + # update background image + self.update_background() + + def Mouse_up(self, widget, event): + self.Mouse_down = false + + if self.Mouse_over==true: + if self.group!=none: + if len(self.group)==1: + if self.selected==true: + self.selected = false + else: + self.selected = true + else: + # unselect all buttons of this group + for button in self.group: + # save as unselected + button.selected = false + + # update background image + button.update_background() + + # select this button + self.selected = true + + if self.function!=none: + if self.function_parameter==none: + self.function() + else: + self.function(self.function_parameter) + + # update background image + self.update_background() + + def update_background(self): + if self.Mouse_over==true and self.Mouse_down==true: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/mouse_down.png') + elif self.Mouse_over==true and self.Mouse_down!=true: + if self.selected==true: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/selected.png') + else: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/mouse_over.png') + else: + if self.selected==true: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/selected.png') + else: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/' + self.directory + 'buttons/' + self.name + '/mouse_out.png') + +class generate_checkbox: + def __init__(self, screen, checked = true): + # save parameters + self.screen = screen + self.checked = checked + + # show EventBox + self.EventBox = gtk.EventBox() + self.EventBox.set_visible_window(false) + self.EventBox.show() + + # show background image + self.background_image = gtk.Image() + + if self.checked: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/checked_-_mouse_out.png') + else: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/unchecked_-_mouse_out.png') + + self.EventBox.add(self.background_image) + self.background_image.show() + + # define functions + self.EventBox.connect('enter_notify_event', self.Mouse_over) + self.EventBox.connect('leave_notify_event', self.Mouse_out) + self.EventBox.connect('button_release_event', self.Mouse_up) + + def Mouse_over(self, widget, event): + if self.checked: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/checked_-_mouse_over.png') + else: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/unchecked_-_mouse_over.png') + + self.Mouse_over = true + + def Mouse_out(self, widget, event): + if self.checked: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/checked_-_mouse_out.png') + else: + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/unchecked_-_mouse_out.png') + + self.Mouse_over = false + + def Mouse_up(self, widget, event): + if self.Mouse_over==true: + if self.checked: + self.checked = false + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/unchecked_-_mouse_over.png') + else: + self.checked = true + self.background_image.set_from_file(path[0] + '/graphic/screens/' + self.screen + '/buttons/checkbox/checked_-_mouse_over.png') + +class generate_clickable_text: + def __init__(self, caption, function = none, function_parameter = none): + # save parameters + self.function = function + self.function_parameter = function_parameter + + # show EventBox + self.EventBox = gtk.EventBox() + self.EventBox.set_visible_window(false) + self.EventBox.show() + + # show caption + self.caption = gtk.Label() + self.caption.set_markup(caption) + self.caption.modify_fg(gtk.STATE_PRELIGHT, colors['extra bright green']) + self.caption.modify_fg(gtk.STATE_ACTIVE, colors['white']) + self.caption.set_line_wrap(true) + self.EventBox.add(self.caption) + self.caption.show() + + # define functions + self.EventBox.connect('enter_notify_event', self.Mouse_over) + self.EventBox.connect('leave_notify_event', self.Mouse_out) + self.EventBox.connect('button_press_event', self.Mouse_down) + self.EventBox.connect('button_release_event', self.Mouse_up) + + def Mouse_over(self, widget, event): + self.caption.set_state(gtk.STATE_PRELIGHT) + + def Mouse_out(self, widget, event): + self.caption.set_state(gtk.STATE_NORMAL) + + def Mouse_down(self, widget, event): + self.caption.set_state(gtk.STATE_ACTIVE) + + def Mouse_up(self, widget, event): + if self.caption.state==gtk.STATE_ACTIVE: + self.caption.set_state(gtk.STATE_PRELIGHT) + + if self.function!=none: + if self.function_parameter==none: + self.function() + else: + self.function(self.function_parameter) + else: + self.caption.set_state(gtk.STATE_NORMAL) + +class generate_input: + def __init__(self, eventbox, width, height, max = 255, caption = ''): + # save parameters + self.width = width + self.height = height + + # show table + table = gtk.Table() + table.show() + + # configure eventbox + eventbox.set_visible_window(false) + eventbox.set_size_request(width, height) + eventbox.add(table) + + # show top line + self.line_top = gtk.Image() + table.attach(self.line_top, 0, 3, 0, 1) + self.line_top.show() + + # show right line + self.line_right = gtk.Image() + table.attach(self.line_right, 2, 3, 0, 3) + self.line_right.show() + + # show bottom line + self.line_bottom = gtk.Image() + table.attach(self.line_bottom, 0, 3, 2, 3) + self.line_bottom.show() + + # show left line + self.line_left = gtk.Image() + table.attach(self.line_left, 0, 1, 0, 3) + self.line_left.show() + + # set line colors to normal color + self.set_line_colors(color = '#88D997') + + # show input field + self.input = gtk.Entry(max = max) + self.input.set_text(caption) + self.input.set_has_frame(false) + self.input.set_size_request(self.width - 2, self.height - 2) + self.input.set_alignment(0.5) + table.attach(self.input, 1, 2, 1, 2) + self.input.show() + + # add functions to the input field + self.input.connect('focus-in-event', self.set_line_colors, '#BAEAC3') + self.input.connect('focus-out-event', self.set_line_colors, '#88D997') + + def set_line_colors(self, widget = none, direction = none, color = ''): + generate_line(self.line_top, self.width, 1, color) + generate_line(self.line_right, 1, self.height, color) + generate_line(self.line_bottom, self.width, 1, color) + generate_line(self.line_left, 1, self.height, color) + + def get_text(self): + return self.input.get_text() + +def generate_line(image, width, height, color): + # generate data + data = [str(width) + ' ' + str(height) + ' 1 1', 'X c ' + color] + + for y in range(0, height): + data.append(width * 'X') + + pixelmap, mask = gtk.gdk.pixmap_create_from_xpm_d(image.window, none, data) + image.set_from_pixmap(pixelmap, mask) + +def get_category_id(category_name): + for category in IDs['category']: + if category['name_en']==category_name: + return category['category_id'] + +def get_category_name(category_id): + for category in IDs['category']: + if category['category_id']==category_id: + return category['name_en'] + +def get_rank_name(points): + for rank in ranks: + if rank['required_points']>points: + break + + rank_name = rank['name_en'] + + return rank_name + +def isfloat(number): + legal = ['-', '.', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + + for character in str(number): + if character not in legal: + return false + + return true + +def isint(number): + legal = ['-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'] + + for character in str(number): + if character not in legal: + return false + + return true + +class meta_server: + def __init__(self): + # define the meta server adress + self.adress = 'http://opacma.ontheserver.de/script/schnittstelle/' + + # define the error messages array + self.error_messages = {} + + # define the error messages + self.error_messages[-101] = 'Internal error: Neither the parameter "get_name" nor the parameter "set_name" were given.' + self.error_messages[-102] = 'Internal error: The parameter "set_name" was given but the parameter "set_value" wasn\'t.' + self.error_messages[-103] = 'Internal error: The parameter "get_name" was given but the value is unknown to the meta server.' + self.error_messages[-104] = 'Internal error: The parameter "set_name" was given but the value is unknown to the meta server.' + self.error_messages[-105] = 'Internal error: The parameter "set_value" was given but it\'s value was not in the allowed range.' + self.error_messages[-106] = 'Internal error: The database is not available. This is an meta server internal error and can happen when the database application crashed. Usually everything will work again in a minute or 2.' + + self.error_messages[-1] = 'Internal error: Could not identify the user. For example no user_ip is given and the IP adress of the requestor is not loged in.' + self.error_messages[-2] = 'Error: No username given.' + self.error_messages[-3] = 'Error: No password given.' + self.error_messages[-4] = 'Error: The given username doesn\'t exist.' + self.error_messages[-5] = 'Error: The given password is incorrect.' + self.error_messages[-6] = 'Error: The version of your client isn\'t the newest (the same version as set in the admin interface of the project website).' + self.error_messages[-7] = 'Error: Opengate does not need another game server right now.' + self.error_messages[-8] = 'Error: There are no game servers online.' + self.error_messages[-9] = 'Internal error: The parameter "faction_id" was not given.' + self.error_messages[-10] = 'Internal error: The parameter "faction_id" was given but it\'s value was not in the allowed range.' + + def get(self, get_name, additional_parameters = {}): + url = self.adress + '?get_name=' + url_decode(get_name) + + for name, value in additional_parameters.items(): + url += '&' + url_decode(name) + '=' + url_decode(str(value)) + + # build up a connection to the meta server + connection = urllib.urlopen(url) + + # get the return value from the meta server + returned_value = connection.read() + + # close the connection to the meta server + connection.close() + + try: + int(returned_value) + + if int(returned_value)<0: + # print error message + print self.error_messages[int(returned_value)] + + quit = true + else: + quit = false + except: + quit = false + + if quit: + # close the client + exit() + else: + return returned_value + + def get_property(self, user_id = none): + if user_id==none: + property = self.get('property') + else: + property = self.get('property', {'user_id' : user_id}) + + # store the property in an array + property = property.split(';') + + for i, object in enumerate(property): + object = object.split(',') + + property[i] = {'object_id' : int(object[0]), 'quantity' : float(object[1]), 'location' : int(object[2])} + + # return the property + return property + +meta_server = meta_server() + +def print_array(Array, level = 0): + print 'array(' + + if type(Array)==list: + for Schlussel, Wert in enumerate(Array): + if type(Wert)==list or type(Wert)==dict: + print '\t' * (level + 1) + '[' + str(Schlussel) + '] =' , + print_array(Wert, level + 1) + else: + print '\t' * (level + 1) + '[' + str(Schlussel) + '] =' , str(Wert) + elif type(Array)==dict: + for Schlussel, Wert in Array.items(): + if type(Wert)==list or type(Wert)==dict: + print '\t' * (level + 1) + '[' + str(Schlussel) + '] =' , + print_array(Wert, level + 1) + else: + print '\t' * (level + 1) + '[' + str(Schlussel) + '] =' , str(Wert) + else: + print 'unbekanntes Format' + + print '\t' * level + ')' + + return '' + +def update_ui(): + while gtk.events_pending(): + gtk.main_iteration(false) + +def url_decode(string): + return string.replace(' ', '%20') + +class xml: + def parse_main_loop(self): + # define data array + data = {} + + while self.content: + # trim whitespaces + self.content = self.content.strip() + + if self.content[0]=='<' and (self.content[1]=='!' or self.content[1]=='?'): + self.parse_get_name() + elif self.content[0]=='<' and self.content[1]!='/': + name = self.parse_get_name() + + try: + data[name] + except: + data[name] = [] + + while self.content[1]!='/': + data[name].append(self.parse_main_loop()) + + # trim whitespaces + self.content = self.content.strip() + + if self.content=='': + return data + elif self.content[0]=='<' and self.content[1]=='/': + self.parse_get_name() + + return data + else: + value = self.parse_get_value() + + return value + + def parse_get_name(self): + # remove "<" + self.content = self.content[1:] + + name = '' + while self.content[0]!='>': + # add 1 letter to the name + name += self.content[0] + + # cut the content by 1 letter + self.content = self.content[1:] + + # remove ">" + self.content = self.content[1:] + + return name + + def parse_get_value(self): + value = '' + while self.content[0]!='<': + # add 1 letter to the value + value += self.content[0] + + # cut the content by 1 letter + self.content = self.content[1:] + + if isint(value): + value = int(value) + elif isfloat(value): + value = float(value) + + return value + + def parse_simplify(self, data): + # the container content should be the data + data = data['container'] + + # define the new data array + data_new = {} + + for entry in data: + for key, array in entry.items(): + try: + data_new[key] + except: + data_new[key] = [] + + item = {} + + for entry2 in array: + if type(entry2)==type({}): + for key2, array2 in entry2.items(): + try: + item[key2] = array2[0] + except: + item[key2] = '' + else: + item = entry2 + + data_new[key].append(item) + + for variable_name, values in data_new.items(): + if len(values)==1: + data_new[variable_name] = values[0] + + return data_new + + def read_file(self, file): + print "file: -->" + str(file) + '<--' # Debug + # open the file + file = open(file) + + # read the file + self.content = file.read() + + # close the file + file.close() + + # parse the file + data = self.parse_main_loop() + + # simlify the data array + data = self.parse_simplify(data) + + return data + +xml = xml() \ No newline at end of file Property changes on: trunk/data/gui/scripts/main/functions.py ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/main/variables.py =================================================================== --- trunk/data/gui/scripts/main/variables.py (rev 0) +++ trunk/data/gui/scripts/main/variables.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,21 @@ +# -*- coding: cp1252 -*- + +# define true, false und none +true = 1 +false = 0 +none = None + +# define different colors +colors = {} +colors['black'] = gtk.gdk.color_parse('#000000') +colors['bright green'] = gtk.gdk.color_parse('#88D997') +colors['extra bright green'] = gtk.gdk.color_parse('#BAEAC3') +colors['green'] = gtk.gdk.color_parse('#00FF00') +colors['red'] = gtk.gdk.color_parse('#FF0000') +colors['white'] = gtk.gdk.color_parse('#FFFFFF') + +# define client version +client_version = '0.0.1' + +# define maximum volume +volume_maximum = 0.4 # value between 0 and 1; 0 = 0% total silence; 1 = 100% as loud as possible; default = 1.0 \ No newline at end of file Property changes on: trunk/data/gui/scripts/main/variables.py ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/screens/loading/index.py =================================================================== --- trunk/data/gui/scripts/screens/loading/index.py (rev 0) +++ trunk/data/gui/scripts/screens/loading/index.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,10 @@ +# -*- coding: cp1252 -*- + +# show the background image +screen.background = gtk.Image() +screen.background.set_from_file(path[0] + '/../startup/computer_game.png') +screen.add(screen.background) +screen.background.show() + +# update the ui +update_ui() \ No newline at end of file Property changes on: trunk/data/gui/scripts/screens/loading/index.py ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/screens/options/index.py =================================================================== --- trunk/data/gui/scripts/screens/options/index.py (rev 0) +++ trunk/data/gui/scripts/screens/options/index.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,387 @@ +# -*- coding: cp1252 -*- + +# show background image (stars) +image = gtk.Image() +image.set_from_file(path[0] + '/graphic/screens/options/background.png') +screen.add(image) +image.show() + +# show window image (all the metal parts, the green background and so on) +image = gtk.Image() +image.set_from_file(path[0] + '/graphic/screens/options/window.png') +screen.put(image, 310, 32) +image.show() + +# show title "connect" +screen.title = gtk.Label() +screen.title.set_markup('<span font_desc="Impact 23">connect</span>') +screen.title.set_size_request(318, 42) +screen.put(screen.title, 364, 64) +screen.title.show() + +class menu: + def __init__(self): + # define category buttons array + screen.category_buttons = [] + + # show category button "connect" + button = category_button('connect', 'options', selected = true) + screen.put(button.EventBox, 376, 147) + screen.category_buttons.append(button) + + # show category button "graphic" + button = category_button('graphic', 'options') + screen.put(button.EventBox, 376, 177) + screen.category_buttons.append(button) + + # show category button "sound" + button = category_button('sound', 'options') + screen.put(button.EventBox, 376, 207) + screen.category_buttons.append(button) + + # show category button "controls" + button = category_button('controls', 'options') + screen.put(button.EventBox, 376, 237) + screen.category_buttons.append(button) + + # show category button "credits" + button = category_button('credits', 'options') + screen.put(button.EventBox, 376, 267) + screen.category_buttons.append(button) + + # show category button "quit" + button = category_button('quit', 'options', gtk.main_quit) + screen.put(button.EventBox, 376, 297) + screen.category_buttons.append(button) + +menu() + +class content: + def __init__(self): + # show line + image = gtk.Image() + screen.put(image, 476, 147) + generate_line(image, 1, 578, '#88D997') + image.show() + + # show table + table = gtk.Table() + table.set_col_spacings(5) + table.set_row_spacings(5) + screen.put(table, 477, 147) + table.show() + + # show line + image = gtk.Image() + table.attach(image, 0, 4, 0, 1) + generate_line(image, 198, 1, '#88D997') + image.show() + + # show "username:" + text = gtk.Label('username:') + table.attach(text, 1, 2, 1, 2) + text.show() + + # grab username or "Inkognito" + if user['username']: + caption = user['username'] + else: + caption = 'Inkognito' + + # show username input field + input_eventbox = gtk.EventBox() + table.attach(input_eventbox, 2, 3, 1, 2) + screen.username = generate_input(input_eventbox, 120, 15, caption = caption) + input_eventbox.show() + + # show "password:" + text = gtk.Label('password:') + table.attach(text, 1, 2, 2, 3) + text.show() + + # show password input field + input_eventbox = gtk.EventBox() + table.attach(input_eventbox, 2, 3, 2, 3) + screen.password = generate_input(input_eventbox, 120, 15, caption = user['password']) + screen.password.input.set_visibility(false) + input_eventbox.show() + + # show "save my access data:" + text = gtk.Label('save my access data:') + text.set_alignment(1, 0.5) + table.attach(text, 1, 3, 3, 4, xpadding = 20) + text.show() + + # show container for "save my access data"-check box + container = gtk.Alignment(xalign = 1) + table.attach(container, 1, 3, 3, 4) + container.show() + + # show "save my access data"-check box + if user['username']: + screen.save_access_data = generate_checkbox('options', checked = true) + else: + screen.save_access_data = generate_checkbox('options', checked = false) + + container.add(screen.save_access_data.EventBox) + + # show line + image = gtk.Image() + table.attach(image, 0, 4, 4, 5) + generate_line(image, 198, 1, '#88D997') + image.show() + + # show white background + image = gtk.Image() + image.set_from_file(path[0] + '/graphic/screens/options/white_backgrounds/198x65.png') + table.attach(image, 0, 4, 0, 5) + image.show() + + # show table + table = gtk.Table() + table.set_row_spacings(2) + screen.put(table, 477, 224) + table.show() + + # show line + image = gtk.Image() + table.attach(image, 0, 1, 0, 1) + generate_line(image, 198, 1, '#88D997') + image.show() + + # show "connect" + text = generate_clickable_text('<span font_desc="Impact 12">connect</span>', self.connect) + table.attach(text.EventBox, 0, 1, 1, 2) + + # show line + image = gtk.Image() + table.attach(image, 0, 1, 2, 3) + generate_line(image, 198, 1, '#88D997') + image.show() + + # show white background + image = gtk.Image() + image.set_from_file(path[0] + '/graphic/screens/options/white_backgrounds/198x24.png') + table.attach(image, 0, 1, 0, 3) + image.show() + + # show "if you would like to create ..." + text = gtk.Label('If you would like to create a new account then you are welcome to use Opacma.\n\nOpacma.OnTheServer.de') + text.set_line_wrap(true) + text.set_size_request(188, -1) + text.set_justify(gtk.JUSTIFY_FILL) + screen.put(text, 482, 259) + text.show() + + # show line + image = gtk.Image() + screen.put(image, 477, 335) + generate_line(image, 198, 1, '#88D997') + image.show() + + # show table + table = gtk.Table() + table.set_col_spacings(5) + table.set_row_spacings(7) + screen.put(table, 477, 345) + table.show() + + # prepare "Establishing a connection to the meta server:" + screen.connecting_caption = gtk.Label('Establishing a connection to the meta server:') + screen.connecting_caption.set_line_wrap(true) + screen.connecting_caption.set_size_request(150, -1) + table.attach(screen.connecting_caption, 1, 2, 0, 1) + + # prepare "[OK]" + screen.connecting_ok = gtk.Label() + table.attach(screen.connecting_ok, 2, 3, 0, 1) + screen.connecting_ok.show() + + # prepare "Loging in:" + screen.loging_in_caption = gtk.Label('Loging in:') + screen.loging_in_caption.set_line_wrap(true) + screen.loging_in_caption.set_size_request(150, -1) + table.attach(screen.loging_in_caption, 1, 2, 1, 2) + + # prepare "[OK]" + screen.loging_in_ok = gtk.Label() + table.attach(screen.loging_in_ok, 2, 3, 1, 2) + screen.loging_in_ok.show() + + # prepare "Checking the client version number:" + screen.checking_version_number_caption = gtk.Label('Checking the client version number:') + screen.checking_version_number_caption.set_line_wrap(true) + screen.checking_version_number_caption.set_size_request(150, -1) + table.attach(screen.checking_version_number_caption, 1, 2, 2, 3) + + # prepare "[OK]" + screen.checking_version_number_ok = gtk.Label() + table.attach(screen.checking_version_number_ok, 2, 3, 2, 3) + screen.checking_version_number_ok.show() + + # prepare status_bar + screen.status_bar = gtk.Image() + screen.status_bar.set_from_file(path[0] + '/graphic/screens/options/status_bar/0.png') + screen.put(screen.status_bar, 519, 433) + + # prepare result line + screen.result_line = gtk.Image() + screen.put(screen.result_line, 477, 458) + generate_line(screen.result_line, 198, 1, '#88D997') + + # prepare result caption + screen.result_caption = gtk.Label(188) + screen.result_caption.set_line_wrap(true) + screen.result_caption.set_size_request(188, -1) + screen.put(screen.result_caption, 482, 468) + + def connect(self): + # reset everything (for the case that a previous login failed and the user trys again) + screen.connecting_caption.hide() + screen.connecting_ok.set_text('') + screen.loging_in_caption.hide() + screen.loging_in_ok.set_text('') + screen.checking_version_number_caption.hide() + screen.checking_version_number_ok.set_text('') + screen.status_bar.set_from_file(path[0] + '/graphic/screens/options/status_bar/0.png') + screen.result_line.hide() + screen.result_caption.hide() + + # update the UI + update_ui() + + username = screen.username.get_text().strip() + password = screen.password.get_text().strip() + + # show "Establishing a connection to the meta server:" + screen.connecting_caption.show() + + # show status bar + screen.status_bar.show() + + # update the UI + update_ui() + + # try to establish a connection to the meta server + try: + connection = urllib.urlopen(meta_server.adress + '?set_name=client_session&set_value=1&username=' + url_decode(str(username)) + '&password=' + url_decode(str(password))) + + # show "[OK]" message for the established connection + screen.connecting_ok.set_text('[OK]') + screen.connecting_ok.modify_fg(gtk.STATE_NORMAL, colors['green']) + + # update status bar + screen.status_bar.set_from_file(path[0] + '/graphic/screens/options/status_bar/33.png') + + # show "Loging in:" + screen.loging_in_caption.show() + + # update the UI + update_ui() + except: + # show "[NOK]" message for the established connection + screen.connecting_ok.set_text('[NOK]') + screen.connecting_ok.modify_fg(gtk.STATE_NORMAL, colors['red']) + + # show result line + screen.result_line.show() + + # show "Failed to establish a connection to the meta server. Please check your internet connection." + screen.result_caption.set_text('Failed to establish a connection to the meta server. Please check your internet connection.') + screen.result_caption.modify_fg(gtk.STATE_NORMAL, colors['red']) + screen.result_caption.show() + + return + + # get the return value from the meta server + returned_value = connection.read() + + # close the connection to the meta server + connection.close() + + if returned_value=='1': + # show "[OK]" message for the login + screen.loging_in_ok.set_text('[OK]') + screen.loging_in_ok.modify_fg(gtk.STATE_NORMAL, colors['green']) + + # update status bar + screen.status_bar.set_from_file(path[0] + '/graphic/screens/options/status_bar/67.png') + else: + # show "[NOK]" message for the login + screen.loging_in_ok.set_text('[NOK]') + screen.loging_in_ok.modify_fg(gtk.STATE_NORMAL, colors['red']) + + # show result line + screen.result_line.show() + + # show error message + screen.result_caption.set_text(meta_server.error_messages[int(returned_value)]) + screen.result_caption.modify_fg(gtk.STATE_NORMAL, colors['red']) + screen.result_caption.show() + + return false + + # split the returnd string into seperate values + returned_values = returned_value.split(' ') + + # save username and password + user['username'] = screen.username.get_text() + user['password'] = screen.password.get_text() + + # show "Checking the client version number:" + screen.checking_version_number_caption.show() + + # update the UI + update_ui() + + # build up a new connection to make the version check + connection = urllib.urlopen(meta_server.adress + '?set_name=client_version&set_value=' + client_version) + + # get the return value from the meta server + returned_value = connection.read() + + # close the connection to the meta server + connection.close() + + if returned_value=='1': + # show "[OK]" message for version check + screen.checking_version_number_ok.set_text('[OK]') + screen.checking_version_number_ok.modify_fg(gtk.STATE_NORMAL, colors['green']) + + # update status bar + screen.status_bar.set_from_file(path[0] + '/graphic/screens/options/status_bar/100.png') + + # show result line + screen.result_line.show() + + # show "login successful" + screen.result_caption.set_text('login successful') + screen.result_caption.modify_fg(gtk.STATE_NORMAL, colors['green']) + screen.result_caption.show() + + # update the UI + update_ui() + else: + # show "[NOK]" message for the version check + screen.checking_version_number_ok.set_text('[NOK]') + screen.checking_version_number_ok.modify_fg(gtk.STATE_NORMAL, colors['red']) + + # show result line + screen.result_line.show() + + # show error message + screen.result_caption.set_text(meta_server.error_messages[int(returned_value)]) + screen.result_caption.modify_fg(gtk.STATE_NORMAL, colors['red']) + screen.result_caption.show() + + return false + + if screen.save_access_data.checked: + config_file.write(user['username'], user['password']) + else: + config_file.write('', '') + + # show station screen + show_screen('station', true) + +content() \ No newline at end of file Property changes on: trunk/data/gui/scripts/screens/options/index.py ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/screens/options/styles.rc =================================================================== --- trunk/data/gui/scripts/screens/options/styles.rc (rev 0) +++ trunk/data/gui/scripts/screens/options/styles.rc 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,17 @@ +style 'entry'{ + bg[NORMAL] = '#88D997' + text[NORMAL] = '#FFFFFF' + base[NORMAL] = '#000000' + + font_name = 'Lucida Console 8' +} + +class 'GtkEntry' style 'entry' + +style 'label'{ + fg[NORMAL] = '#88D997' + + font_name = 'Lucida Console 8' +} + +class 'GtkLabel' style 'label' \ No newline at end of file Property changes on: trunk/data/gui/scripts/screens/options/styles.rc ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/screens/startup/index.py =================================================================== --- trunk/data/gui/scripts/screens/startup/index.py (rev 0) +++ trunk/data/gui/scripts/screens/startup/index.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,30 @@ +# -*- coding: cp1252 -*- + +# show the background image +screen.background = gtk.Image() +screen.background.set_from_file(path[0] + '/../startup/open_source/0000.png') +screen.add(screen.background) +screen.background.show() + +background_picture_number = 0 + +def update_background_picture(): + global background_picture_number + + # increase background picture number by 1 + background_picture_number += 1 + + # update background picture + screen.background.set_from_file(path[0] + '/../startup/open_source/' + '%0.4i' % background_picture_number + '.png') + + if background_picture_number>=200: + # show the options screen + show_screen('options') + + # don't run this function again + return false + else: + # run this function again + return true + +gobject.timeout_add(40, update_background_picture) \ No newline at end of file Property changes on: trunk/data/gui/scripts/screens/startup/index.py ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/scripts/screens/station/content/market.py =================================================================== --- trunk/data/gui/scripts/screens/station/content/market.py (rev 0) +++ trunk/data/gui/scripts/screens/station/content/market.py 2009-02-07 20:32:24 UTC (rev 1017) @@ -0,0 +1,616 @@ +# -*- coding: cp1252 -*- + +global item +class item: + def __init__(self): + # save no item + self.item = none + + # show EventBox + self.EventBox = gtk.EventBox() + self.EventBox.set_visible_window(false) + self.EventBox.show() + + # show container + container = gtk.Fixed() + self.EventBox.add(container) + container.show() + + # show background image + self.background = gtk.Image() + self.background.set_from_file(path[0] + '/graphic/screens/station/content/market/buttons/item/mouse_out.png') + container.add(self.background) + self.background.show() + + # show center alignment for the picture + center = gtk.Alignment(xalign = 0.5, yalign = 0.5) + center.set_size_request(84, 78) + container.put(center, 10, 13) + center.show() + + # show picture + self.picture = gtk.Image() + center.add(self.picture) + self.picture.show() + + # show obect name + self.name_caption = gtk.Label() + container.put(self.name_caption, 4, 93) + self.name_caption.show() + + # show size icon + self.size = gtk.Image() + container.put(self.size, 95, 28) + self.size.show() + + # show category icon + self.category = gtk.Image() + container.put(self.category, 87, 2) + self.category.show() + + # show price + self.price_caption = gtk.Label() + self.price_caption.modify_fg(gtk.STATE_NORMAL, colors['black']) + container.put(self.price_caption, 0, 102) + self.price_caption.show() + + # show available quantity + self.quantity_caption = gtk.Label() + container.put(self.quantity_caption, 12, 3) + self.quantity_caption.show() + + # define functions + self.EventBox.connect('enter_notify_event', self.Mouse_over) + self.EventBox.connect('leave_notify_event', self.Mouse_out) + self.EventBox.connect('button_press_event', self.Mouse_down) + self.EventBox.connect('button_release_event', self.Mouse_up) + + def Mouse_over(self, widget, event): + self.Mouse_over = true + + # update background image + self.update_background() + + def Mouse_out(self, widget, event): + self.Mouse_over = false + + # update background image + self.update_background() + + def Mouse_down(self, widget, event): + self.Mouse_down = true + + # update background image + self.update_background() + + def Mouse_up(self, widget, event): + self.Mouse_down = false + + if self.Mouse_over==true: + if self.item!=none: + # run the function + pass + + # update background image + self.update_background() + + def update_background(self): + if self.Mouse_over==true and self.Mouse_down==true: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/content/market/buttons/item/mouse_down.png') + elif self.Mouse_over==true and self.Mouse_down!=true: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/content/market/buttons/item/mouse_over.png') + else: + # update background image + self.background.set_from_file(path[0] + '/graphic/screens/station/content/market/buttons/item/mouse_out.png') + + def update_item(self, item = none): + # save item + self.item = item + + if self.item==none: + # remove name + self.name_caption.set_text('') + + # remove price + self.price_caption.set_text('') + + # remove available quantity + self.quantity_caption.set_text('') + + # remove picture + self.picture.clear() + + # remove size icon + self.size.clear() + + # remove category icon + self.category.clear() + else: + # update name + self.name_caption.set_markup('<span font_desc="Lucida Console 7">' + property[self.item['object_id']]['name_en'] + '</span>') + + # update price + self.price_caption.set_text('c1') + + # update available quantity + if isint(self.item['quantity']): + self.quantity_caption.set_markup('<span font_desc="Lucida Console 7">' + str(self.item['quantity']) + '</span>') + else: + self.quantity_caption.set_markup('<span font_desc="Lucida Console 7">%.2f' % round(self.item['quantity'], 2) + '</span>') + + # update picture + self.picture.set_from_file(path[0] + '/../' + get_category_name(property[self.item['object_id']]['category_id']).lower().replace(' ', '_') + '/' + property[self.item['object_id']]['name_en'].lower().replace(' ', '_') + '_small.png') + + # update size icon + self.size.set_from_file(path[0] + '/graphic/screens/station/content/market/icons/sizes/' + str(property[self.item['object_id']]['size']) + '.png') + + # update category icon + self.category.set_from_file(path[0] + '/graphic/screens/station/content/market/icons/categories/' + get_category_name(property[self.item['object_id']]['category_id']).lower().replace(' ', '_') + '/' + IDs['faction'][property[self.item['object_id']]['faction_id']]['name_en'].lower().replace(' ', '_').replace('/', '_') + '.png') + +class items: + def load(self, data = ''): + if data=='': + # get data + for button in screen.category_buttons: + if button.selected: + data = button.name + + break + + if data=='private storage room': + # define who the parent is + parent = screen.public_market + + # define/reset items array + parent.items = [] + + # update caption + parent.caption.set_markup('<span font_desc="Impact 10">private storage room</span>') + + # grab the right items + for current_item in user['property']: + if current_item['location']<=8: + # if the item is in the ship (cargo hold or equiped) then continue + continue + elif property[current_item['object_id']]['category_id']==9: + # if item is the users ship then continue + continue + + parent.items.append(current_item) + elif data=='private cargo hold': + # define who the parent is + parent = screen.private_cargo_hold + + # define/reset items array + parent.items = [] + + # grab the right items + for current_item in user['property']: + if current_item['location']!=0: + # if the item is not in the private cargo hold then continue + continue + + parent.items.append(current_item) + else: + # define who the parent is + parent = screen.public_market + + # get category_id + category_id = get_category_id(data) + + # update caption + parent.caption.set_markup('<span font_desc="Impact 10">public market</span>') + + # define/reset items array + parent.items = [] + + # grab the right items + for object_id, current_item in property.items(): + if current_item['category_id']==category_id: + found_on_market = false + + for current_item_on_market in market: + if current_item_on_market['object_id']==object_id: + parent.items.append(current_item_on_market) + + found_on_market = true + + break + + if found_on_market==false: + # define an array for the item + item = {} + + # define the data for the item + item['object_id'] = object_id + item['quantity'] = 0 + item['location'] = user['location'] + + parent.items.append(item) + + # define/reset start value + parent.start = 0 + + if data=='private cargo hold': + # update items + self.update(parent) + else: + # sort and update items + screen.public_market.sort_by() + + def update(self, parent): + for i in range(0, len(parent.item_widgets)): + if (parent.start + i)<len(parent.items): + parent.item_widgets[i].update_item(parent.items[parent.start + i]) + else: + parent.item_widgets[i].update_item() + + def scroll_down(self, parent): + if (parent.start + 3)<len(parent.items): + parent.start += 3 + + # update item widgets + self.update(parent) + + def scroll_up(self, parent): + if parent.start>=3: + parent.start -= 3 + + # update item widgets + self.update(parent) + +screen.items = items() + +class public_market: + def __init__(self): + # show background image + image = gtk.Image() + image.set_from_file(path[0] + '/graphic/screens/station/content/market/backgrounds/public_market.png') + screen.content.container.put(image, 234, 0) + image.show() + + # show caption ("public market" or "private storage room") + self.caption = gtk.Label() + self.caption.set_markup('<span font_desc="Impact 10">public market</span>') + screen.content.container.put(self.caption, 252, 0) + self.caption.show() + + # define sort_by_widgets array + self.sort_by_widgets = [] + + # show sort table + table = gtk.Table() + table.set_col_spacings(1) + screen.content.container.put(table, 407, 2) + table.show() + + # show sort alphabetically button + button = generate_button('sort/alphabetically', self.sort_by, directory = 'content/market/', group = self.sort_by_widgets, selected = true) + button.sort_by = 'name_en' + table.attach(button.EventBox, 0, 1, 0, 1) + self.sort_by_widgets.append(button) + + # show sort by costs button + button = generate_button('sort/costs', self.sort_by, directory = 'content/market/', group = self.sort_by_widgets) + button.sort_by = 'name_en' + table.attach(button.EventBox, 1, 2, 0, 1) + self.sort_by_widgets.append(button) + + # show sort by size button + button = generate_button('sort/size', self.sort_by, directory = 'content/market/', group = self.sort_by_widgets) + button.sort_by = 'size' + table.attach(button.EventBox, 2, 3, 0, 1) + self.sort_by_widgets.append(button) + + # show sort by required rank button + button = generate_button('sort/rank', self.sort_by, directory = 'content/market/', group = self.sort_by_widgets) + button.sort_by = 'required_rank' + table.attach(button.EventBox, 3, 4, 0, 1) + self.sort_by_widgets.append(button) + + # show sort by available quantity button + button = generate_button('sort/quantity', self.sort_by, directory = 'content/market/', group = self.sort_by_widgets) + button.sort_by = 'quantity' + table.attach(button.EventBox, 4, 5, 0, 1) + self.sort_by_widgets.append(button) + + # define sorting_order_widgets array + self.sorting_order_widgets = [] + + # show sort ascending button + button = generate_button('sort/ascending', self.sort_by, directory = 'content/market/', group = self.sorting_order_widgets, selected = true) + button.sorting_order = 'ascending' + table.attach(button.EventBox, 7, 8, 0, 1) + self.sorting_order_widgets.append(button) + + # show sort descending button + button = generate_button('sort/descending', self.sort_by, directory = 'content/market/', group = self.sorting_order_widgets) + button.sorting_order = 'descending' + table.attach(button.EventBox, 8, 9, 0, 1) + self.sorting_order_widgets.append(button) + + # define show_all array + self.show_all_widgets = [] + + # show "show all" button + button = generate_button('show_all', screen.items.load, directory = 'content/market/', group = self.show_all_widgets) + table.attach(button.EventBox, 11, 12, 0, 1) + self.show_all_widgets.append(button) + + # define item_widgets array + self.item_widgets = [] + + # show item widget #0 + current_item = item() + screen.content.container.put(current_item.EventBox, 234, 27) + self.item_widgets.append(current_item) + + # show item widget #1 + current_item = item() + screen.content.container.put(current_item.EventBox, 346, 27) + self.item_widgets.append(current_item) + + # show item widget #2 + current_item = item() + screen.content.container.put(current_item.EventBox, 458, 27) + self.item_widgets.append(current_item) + + # show item widget #3 + current_item = item() + screen.content.container.put(current_item.EventBox, 234, 147) + self.item_widgets.append(current_item) + + # show item widget #4 + current_item = item() + screen.content.container.put(current_item.EventBox, 346, 147) + self.item_widgets.append(current_item) + + # show item widget #5 + current_item = item() + screen.content.container.put(current_item.EventBox, 458, 147) + self.item_widgets.append(current_item) + + # show item widget #6 + current_item = item() + screen.content.container.put(current_item.EventBox, 234, 267) + self.item_widgets.append(current_item) + + # show item widget #7 + current_item = item() + screen.content.container.put(current_item.EventBox, 346, 267) + self.item_widgets.append(current_item) + + # show item widget #8 + current_item = item() + screen.content.container.put(current_item.EventBox, 458, 267) + self.item_widgets.append(current_item) + + # show upwards scrollbar + self.scrollbar_up = generate_button('scrollbar/up', screen.items.scroll_up, self, 'content/market/') + screen.content.container.put(self.scrollbar_up.EventBox, 572, 4) + + # show downwards scrollbar + self.scrollbar_down = generate_button('scrollbar/down', screen.items.scroll_down, self, 'content/market/') + screen.content.container.put(self.scrollbar_down.EventBox, 572, 317) + + def sort_by(self): + # find the right sort_by criteria + for button in self.sort_by_widgets: + if button.selected: + sort_by = button.sort_by + + break + + # find the right sorting order + for button in self.sorting_order_widgets: + if button.selected: + sorting_order = button.sorting_order + + break + + # define temporary array for the sorting + data = [] + + # grab the relevant data + for item in self.items: + if type(property[item['object_id']][sort_by])==type(''): + data.append(property[item['object_id']][sort_by].lower()) + else: + data.append(property[item['object_id']][sort_by]) + + # sort the array + if sorting_order=='ascending': + reverse = false + else: + reverse = true + + data.sort(reverse = reverse) + + # define new array for the items + items_new = [] + + for value in data: + for i, item in enumerate(self.items): + if type(property[item['object_id']][sort_by])==type(''): + if value==property[item['object_id']][sort_by].lower(): + found_it = true + else: + found_it = false + elif value==property[item['object_id']][sort_by]: + found_it = true + else: + found_it = false + + if found_it: + del(self.items[i]) + + if self.show_all_widgets[0].selected or item['quantity']>0: + items_new.append(item) + + break + + # overwrite the original items array + self.items = items_new + + # update the items + screen.items.update(self) + +screen.public_market = public_market() + +class private_cargo_hold: + def __init__(self): + # show background image + image = gtk.Image() + image.set_from_file(path[0] + '/graphic/screens/station/content/market/backgrounds/private_cargo_hold.png') + screen.content.container.put(image, 597, 0) + image.show() + + # show caption ("private cargo hold") + text = gtk.Label() + text.set_markup('<span font_desc="Impact 10">private cargo hold</span>') + screen.content.container.put(text, 615, 0) + text.show() + + # define item_widgets array + self.item_widgets = [] + + # show item #0 + current_item = item() + screen.content.container.put(current_item.EventBox, 597, 27) + self.item_widgets.append(current_item) + + # show item #1 + current_item = item() + screen.content.container.put(current_item.EventBox, 709, 27) + self.item_widgets.append(current_item) + + # show item #2 + current_item = item() + screen.content.container.put(current_item.EventBox, 597, 147) + self.item_widgets.append(current_item) + + # show item #3 + current_item = item() + screen.content.container.put(current_item.EventBox, 709, 147) + self.item_widgets.append(current_item) + + # show item #4 + current_item = item() + screen.content.container.put(current_item.EventBox, 597, 267) + self.item_widgets.append(current_item) + + # show item #5 + current_item = item() + screen.content.container.put(current_item.EventBox, 709, 267) + self.item_widgets.append(current_item) + + # show upwards scrollbar + self.scrollbar_up = generate_button('scrollbar/up', screen.items.scroll_up, self, 'content/market/') + screen.content.container.put(self.scrollbar_up.EventBox, 823, 4) + + # show downwards scrollbar + self.scrollbar_down = generate_button('scrollbar/down', screen.items.scroll_down, self, 'content/market/') + screen.content.container.put(self.scrollbar_down.EventBox, 823, 317) + +screen.private_cargo_hold = private_cargo_hold() + +# load the items +screen.items.load('private cargo hold') + +class category_menu: + def __init__(self): + # show background image + image = gtk.Image() + image.set_from_file(path[0] + '/graphic/screens/station/content/market/backgrounds/category_menu.png') + screen.content.container.add(image) + image.show() + + # define category buttons array + screen.category_buttons = [] + + # show category button "capacitors" + button = category_button('capacitors', 'station/content/market', screen.items.load, icon = true, selected = true) + screen.content.container.put(button.EventBox, 9, 9) + screen.category_buttons.append(button) + + # show category button "commodities" + button = category_button('commodities', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 43) + screen.category_buttons.append(button) + + # show category button "ECMs" + button = category_button('ECMs', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 77) + screen.category_buttons.append(button) + + # show category button "engines" + button = category_button('engines', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 111) + screen.category_buttons.append(button) + + # show category button "guns" + button = category_button('guns', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 145) + screen.category_buttons.append(button) + + # show category button "missiles" + button = category_button('missiles', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 179) + screen.category_buttons.append(button) + + # show category button "modifications" + button = category_button('modifications', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 213) + screen.category_buttons.append(button) + + # show category button "power plants" + button = category_button('power plants', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 247) + screen.category_buttons.append(button) + + # show category button "radars" + button = category_button('radars', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 281) + screen.category_buttons.append(button) + + # show category button "shields" + button = category_button('shields', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.EventBox, 9, 315) + screen.category_buttons.append(button) + + # show category button "private storage room" + button = category_button('private storage room', 'station/content/market', screen.items.load, icon = true) + screen.content.container.put(button.... [truncated message content] |
From: <Ult...@us...> - 2009-02-07 20:33:22
|
Revision: 1018 http://opengate.svn.sourceforge.net/opengate/?rev=1018&view=rev Author: Ultrasick Date: 2009-02-07 20:33:19 +0000 (Sat, 07 Feb 2009) Log Message: ----------- adding forgotten files Added Paths: ----------- trunk/data/gui/config.ini trunk/data/gui/index.py Added: trunk/data/gui/config.ini =================================================================== --- trunk/data/gui/config.ini (rev 0) +++ trunk/data/gui/config.ini 2009-02-07 20:33:19 UTC (rev 1018) @@ -0,0 +1,5 @@ +[user] +username: +password: +[display] +show startup video: true \ No newline at end of file Property changes on: trunk/data/gui/config.ini ___________________________________________________________________ Added: svn:eol-style + native Added: trunk/data/gui/index.py =================================================================== --- trunk/data/gui/index.py (rev 0) +++ trunk/data/gui/index.py 2009-02-07 20:33:19 UTC (rev 1018) @@ -0,0 +1,70 @@ +# -*- coding: cp1252 -*- + +from __future__ import division +import gtk +from sys import path + +# load different variables +execfile(path[0] + '/scripts/main/variables.py') + +# load different functions +execfile(path[0] + '/scripts/main/functions.py') + +# show window +window = gtk.Window() +window.set_title('Opengate') +#window.fullscreen() +window.show() + +# exit program, if window is closed +window.connect('delete_event', gtk.main_quit) + +def show_screen(screen_name, show_loading_screen = false): + # set screen container global + global screen + + # stop running animations + try: + screen.laser_beam_animation + + # stop laser beam and turning logo animation + gobject.source_remove(screen.laser_beam_animation) + gobject.source_remove(screen.turn_logo_animation) + + screen.air_lock_animation + + # stop air lock animation + gobject.source_remove(screen.air_lock_animation) + except: + pass + + # try to destroy the previous screen + try: + screen.destroy() + except: + pass + + # show "screen"-container + screen = gtk.Fixed() + window.add(screen) + screen.show() + + if show_loading_screen: + # show loading screen + execfile(path[0] + '/scripts/screens/loading/index.py') + + # define different styles (if a style file exists) + if check.isfile(path[0] + '/scripts/screens/' + screen_name + '/styles.rc'): + gtk.rc_parse(path[0] + '/scripts/screens/' + screen_name + '/styles.rc') + + # show screen + execfile(path[0] + '/scripts/screens/' + screen_name + '/index.py') + +# show first screen +if display['show startup video']=='true': + show_screen('startup') +else: + show_screen('options') + +# enter main loop +gtk.main() \ No newline at end of file Property changes on: trunk/data/gui/index.py ___________________________________________________________________ Added: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |