def on_selected_objects(self, event): """ Open an object inspector for each one of the current selected entities. """ for each_entity in self.get_selected_entities(): entity_id = each_entity.getid() name = app.get_level().getentityname(entity_id) if name == ':null:': win = objdlg.create_window(self.get_frame(), entity_id) win.display() else: win = objdlg.create_window(self.get_frame(), name) win.display()
def on_ok(self, event): if self.button_texture.GetLabel() == "<default>": entity_class = particle.CreateClass( str(self.text_name.GetValue()), self.target_library ) else: texture = format.append_to_path( "wc:export/textures", self.button_texture.GetLabel() ) entity_class = particle.CreateClass( str(self.text_name.GetValue()), self.target_library, str(texture) ) if entity_class is None: wx.MessageBox( "Couldn't create the particle system class named '" \ + self.text_name.GetValue() + "'", "Conjurer", style=wx.ICON_ERROR ) else: objdlg.create_window( app.get_top_window(), entity_class.getfullname() ) self.EndModal(wx.ID_OK)
def on_camera(self, event): """Show an object inspector for a camera""" win = objdlg.create_window( self.get_frame(), self.cameras[event.GetId()] ) win.display()
def on_inspect_class_button(self, event): class_name = str(self.model.get_object_class()) entity_server = servers.get_entity_class_server() class_to_inspect = entity_server.getentityclass(class_name) win = objdlg.create_window(app.get_top_window(), class_to_inspect.getfullname()) win.display()
def on_activated(self, event): if not self.modal: obj = self.GetPyData(event.GetItem()) if not self.passive: win = objdlg.create_window(self.parent.parent.parent, obj.getfullname()) win.display()
def on_new_indoor_area(self, event): """Create new indoor loading area""" # Create a new indoor area dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.NEW, 'area', 'Area', "/usr/areas" ) if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already an area named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new area name." cjr.show_error_message(msg) else: # create the new loading area obj = servers.get_loader_server().createloadarea( "nindoorarea", str( dlg.get_guiname() ) ) win = objdlg.create_window( wx.GetApp().GetTopWindow(), obj.getfullname() ) win.display() dlg.Destroy()
def on_open_stream(self, event): """Open geometry stream""" # Ask for the stream name if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams" ) if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the stream for editing win = objdlg.create_window( wx.GetApp().GetTopWindow(), dlg.get_node().getfullname() ) win.display() dlg.Destroy()
def on_create_stream(self, event): """Create geometry stream""" # Ask for the new stream name if not pynebula.exists( str("/usr/streams") ): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.NEW, 'stream', 'Stream', "/usr/streams" ) if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already a stream named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new stream name." cjr.show_error_message(msg) else: # create the new stream obj = app.get_state("geometrystream").createstream( str( dlg.get_guiname() ) ) win = objdlg.create_window( wx.GetApp().GetTopWindow(), obj.getfullname() ) win.display() dlg.Destroy()
def on_light(self, event): """Show an object inspector for a light""" win = objdlg.create_window( self.get_frame(), self.lights[event.GetId()] ) win.display()
def on_button1(self, event): if self.modal == True: self.parent.Hide() self.parent.EndModal(wx.ID_OK) else: obj = pynebula.lookup(self.parent.GetTitle()) win = objdlg.create_window(self.parent.parent, obj.getfullname()) win.display()
def on_nav_gen_params(self, event): """Open an object inspector for the navigation mesh builder state""" navbuilder = app.get_navbuilder() win = objdlg.create_window( self.get_frame(), navbuilder.getfullname() ) win.display()
def on_globals(self, event): """Show an object inspector for the global variables""" path = servers.get_global_vars().getfullname() win = objdlg.create_window( self.get_frame(), path ) win.display()
def on_selected_objects (self, event): """ Open an object inspector for each one of the current selected entities. """ for each_entity in self.get_selected_entities(): entity_id = each_entity.getid() name = app.get_level().getentityname( entity_id ) if name == ':null:': win = objdlg.create_window( self.get_frame(), entity_id ) win.display() else: win = objdlg.create_window( self.get_frame(), name ) win.display()
def on_activated(self, event): if not self.modal: obj = self.GetPyData(event.GetItem()) if not self.passive: win = objdlg.create_window( self.parent.parent.parent, obj.getfullname() ) win.display()
def on_inspect_class_button(self, event): class_name = str( self.model.get_object_class() ) entity_server = servers.get_entity_class_server() class_to_inspect = entity_server.getentityclass( class_name ) win = objdlg.create_window( app.get_top_window(), class_to_inspect.getfullname() ) win.display()
def __on_edit(self, event): if self.has_item_selected(): particle_system = self.get_selected_class() try: wx.BeginBusyCursor() win = objdlg.create_window(app.get_top_window(), particle_system.getfullname()) finally: wx.EndBusyCursor() win.display() else: cjr.show_error_message("Please select a Particle System to edit.")
def on_pg_right_click(self, event): """ Open an inspector if the click property is an object """ pid = event.get_value() prop_type = self.pg.get_property_type(pid) if prop_type == propgrid.Type_Object: prop_value = self.pg.get_property_value(pid) if prop_value is not None: obj_type = self.model.get_object_type() if obj_type == "nroot" or obj_type == "entityclass": prop_value = prop_value.getfullname() win = objdlg.create_window(app.get_top_window(), prop_value) win.display() event.Skip()
def on_selected_entities(self, event): """Open a property editor on the selected entities""" entity_list = self.get_selected_entities() select_count = len(entity_list) if select_count > 1: model = scriptingmodelmultiobject.ScriptingModelMultiObject( entity_list) propertyview.create_window(self.get_frame(), model) elif select_count == 1: entity = entity_list[0] entity_id = entity.getid() win = objdlg.create_window(self.get_frame(), entity_id) win.display() else: cjr.show_error_message("There are no entities currently selected")
def __on_edit(self, event): if self.has_item_selected(): particle_system = self.get_selected_class() try: wx.BeginBusyCursor() win = objdlg.create_window( app.get_top_window(), particle_system.getfullname() ) finally: wx.EndBusyCursor() win.display() else: cjr.show_error_message( "Please select a Particle System to edit." )
def on_pg_right_click (self, event): """ Open an inspector if the click property is an object """ pid = event.get_value() prop_type = self.pg.get_property_type(pid) if prop_type == propgrid.Type_Object: prop_value = self.pg.get_property_value(pid) if prop_value is not None: obj_type = self.model.get_object_type() if obj_type == "nroot" or obj_type == "entityclass": prop_value = prop_value.getfullname() win = objdlg.create_window( app.get_top_window(), prop_value ) win.display() event.Skip()
def on_open_area(self, event): """Open loading area""" # Ask for the area name if pynebula.exists(str("/usr/areas")): dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.OPEN, 'area', 'Area', "/usr/areas") if dlg.ShowModal() == wx.ID_OK: # Check that's an existing area if not dlg.node_exists(): msg = "There is no area called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the area for edition win = objdlg.create_window(wx.GetApp().GetTopWindow(), dlg.get_node().getfullname()) win.display() dlg.Destroy()
def open_inspector (self): """Open a property editor for selected entities""" entity_list = self.get_selected_entities() select_count = len(entity_list) if select_count > 1: model = scripting.ScriptingModelMultiObject(entity_list) propertyview.create_window( app.get_top_window(), model ) elif select_count == 1: entity = entity_list[0] entity_id = entity.getid() win = objdlg.create_window( app.get_top_window(), entity_id ) win.display()
def __on_left_dlcick (self, event): # get entity id row_index = event.GetRow() row_data = self.__get_data_for_row(row_index) an_id = row_data[0] if self.parent.modal: entity_name = row_data[2] string_to_show = "%s (id = %s)" % ( entity_name, str(an_id) ) grand_parent = self.parent.GetParent() grand_parent.SetTitle(string_to_show) grand_parent.Hide() grand_parent.EndModal(wx.ID_OK) else: # show an inspector window for the entity win = objdlg.create_window( app.get_top_window(), an_id ) win.display()
def on_open_stream(self, event): """Open geometry stream""" # Ask for the stream name if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.OPEN, 'stream', 'Stream', "/usr/streams") if dlg.ShowModal() == wx.ID_OK: # Check that's an existing stream if not dlg.node_exists(): msg = "There is no stream called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the stream for editing win = objdlg.create_window(wx.GetApp().GetTopWindow(), dlg.get_node().getfullname()) win.display() dlg.Destroy()
def on_new_indoor_area(self, event): """Create new indoor loading area""" # Create a new indoor area dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.NEW, 'area', 'Area', "/usr/areas") if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already an area named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new area name." cjr.show_error_message(msg) else: # create the new loading area obj = servers.get_loader_server().createloadarea( "nindoorarea", str(dlg.get_guiname())) win = objdlg.create_window(wx.GetApp().GetTopWindow(), obj.getfullname()) win.display() dlg.Destroy()
def on_create_stream(self, event): """Create geometry stream""" # Ask for the new stream name if not pynebula.exists(str("/usr/streams")): app.get_state("geometrystream").loadstreamlibrary() dlg = nodelibdlg.NodeLibDialog(self.get_frame(), nodelibdlg.NEW, 'stream', 'Stream', "/usr/streams") if dlg.ShowModal() == wx.ID_OK: # Check that's a new stream name if dlg.node_exists(): msg = "There's already a stream named" msg = msg + " '" + dlg.get_guiname() + "'.\n" msg = msg + "You should enter a new stream name." cjr.show_error_message(msg) else: # create the new stream obj = app.get_state("geometrystream").createstream( str(dlg.get_guiname())) win = objdlg.create_window(wx.GetApp().GetTopWindow(), obj.getfullname()) win.display() dlg.Destroy()
def on_open_area(self, event): """Open loading area""" # Ask for the area name if pynebula.exists( str("/usr/areas") ): dlg = nodelibdlg.NodeLibDialog( self.get_frame(), nodelibdlg.OPEN, 'area', 'Area', "/usr/areas" ) if dlg.ShowModal() == wx.ID_OK: # Check that's an existing area if not dlg.node_exists(): msg = "There is no area called '%s'" % dlg.get_guiname() cjr.show_error_message(msg) else: # open the area for edition win = objdlg.create_window( wx.GetApp().GetTopWindow(), dlg.get_node().getfullname() ) win.display() dlg.Destroy()
def on_selected_entities(self, event): """Open a property editor on the selected entities""" entity_list = self.get_selected_entities() select_count = len(entity_list) if select_count > 1: model = scriptingmodelmultiobject.ScriptingModelMultiObject( entity_list ) propertyview.create_window( self.get_frame(), model ) elif select_count == 1: entity = entity_list[0] entity_id = entity.getid() win = objdlg.create_window( self.get_frame(), entity_id ) win.display() else: cjr.show_error_message( "There are no entities currently selected" )
def on_light(self, event): """Show an object inspector for a light""" win = objdlg.create_window(self.get_frame(), self.lights[event.GetId()]) win.display()
def on_globals(self, event): """Show an object inspector for the global variables""" path = servers.get_global_vars().getfullname() win = objdlg.create_window(self.get_frame(), path) win.display()
def on_edit_camera(self, event): win = objdlg.create_window( wx.GetApp().GetTopWindow(), self.viewport.getviewportentity().getid() ) win.display()
def on_nav_gen_params(self, event): """Open an object inspector for the navigation mesh builder state""" navbuilder = app.get_navbuilder() win = objdlg.create_window(self.get_frame(), navbuilder.getfullname()) win.display()
def on_camera(self, event): """Show an object inspector for a camera""" win = objdlg.create_window(self.get_frame(), self.cameras[event.GetId()]) win.display()
def on_button_inspect_clicked(self, event): win = objdlg.create_window( app.get_top_window(), self.entity.getid() ) win.display()
def on_mission_objectives(self, event): path = servers.get_mission_handler().getfullname() objdlg.create_window( self.get_frame(), path )
def on_mission_objectives(self, event): path = servers.get_mission_handler().getfullname() objdlg.create_window(self.get_frame(), path)
def on_button_inspect_clicked(self, event): win = objdlg.create_window(app.get_top_window(), self.entity.getid()) win.display()