Esempio n. 1
0
 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()
Esempio n. 2
0
 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)
Esempio n. 3
0
 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()
Esempio n. 4
0
 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()
Esempio n. 5
0
 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()
Esempio n. 6
0
 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()
Esempio n. 7
0
    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()
Esempio n. 8
0
    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()
Esempio n. 9
0
 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()
Esempio n. 10
0
 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()
Esempio n. 11
0
 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()
Esempio n. 12
0
 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()
Esempio n. 13
0
 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()
Esempio n. 14
0
 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()
Esempio n. 15
0
 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()
Esempio n. 16
0
 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()
Esempio n. 17
0
 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.")
Esempio n. 18
0
 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()
Esempio n. 19
0
 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")
Esempio n. 20
0
 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."
             )
Esempio n. 21
0
 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()
Esempio n. 22
0
 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()
Esempio n. 23
0
 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()
Esempio n. 24
0
 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()
Esempio n. 25
0
    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()
Esempio n. 26
0
 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()
Esempio n. 27
0
    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()
Esempio n. 28
0
 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()
Esempio n. 29
0
 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"
             )
Esempio n. 30
0
 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()
Esempio n. 31
0
 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()
Esempio n. 32
0
 def on_edit_camera(self, event):
     win = objdlg.create_window(
                 wx.GetApp().GetTopWindow(), 
                 self.viewport.getviewportentity().getid()
                 )
     win.display()
Esempio n. 33
0
 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()
Esempio n. 34
0
 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()
Esempio n. 35
0
 def on_button_inspect_clicked(self, event):
     win = objdlg.create_window(
                 app.get_top_window(), 
                 self.entity.getid()
                 )
     win.display()
Esempio n. 36
0
 def on_mission_objectives(self, event):
     path = servers.get_mission_handler().getfullname()
     objdlg.create_window( self.get_frame(), path )
Esempio n. 37
0
 def on_mission_objectives(self, event):
     path = servers.get_mission_handler().getfullname()
     objdlg.create_window(self.get_frame(), path)
Esempio n. 38
0
 def on_button_inspect_clicked(self, event):
     win = objdlg.create_window(app.get_top_window(), self.entity.getid())
     win.display()