Ejemplo n.º 1
0
 def __init__(self, noframe, alwaysontop):
     opts = self.getDefaultOptions()
     opts.frame = not noframe
     opts.alwaysontop = alwaysontop
     self.move_start = None
     self.outline = 0
     AppWnd.__init__(self, opts)
     self.init("Resizing Demo")
Ejemplo n.º 2
0
 def __init__(self, noframe, alwaysontop):
     opts = self.getDefaultOptions()
     opts.frame = not noframe
     opts.alwaysontop = alwaysontop
     self.move_start = None
     self.outline = 0
     AppWnd.__init__(self, opts)
     self.init("Resizing Demo")
Ejemplo n.º 3
0
 def __init__(self, x, y, size, preset, alwaysontop):
     opts = self.getDefaultOptions()
     opts.size = (size, size)
     opts.pos = (x, y)
     opts.depth = 32
     opts.frame = 0
     opts.alwaysontop = alwaysontop
     self.move_start = None
     self.hours, self.mins, self.secs = -1, -1, -1
     AppWnd.__init__(self, opts)
     self.init("Pygame Clock")
     self.doExpose()
     if preset is not None:
         self.SetPosition(preset)
     self._setShape()
Ejemplo n.º 4
0
 def __init__(self, x, y, size, preset, alwaysontop):
     opts = self.getDefaultOptions()
     opts.size = (size, size)
     opts.pos = (700, 25)
     opts.depth = 32
     opts.frame = 0
     opts.alwaysontop = 1
     self.move_start = None
     self.hours, self.mins, self.secs = -1, -1, -1
     AppWnd.__init__(self, opts)
     self.init("Return")
     self.doExpose()
     if preset is not None:
         self.SetPosition(preset)
     self._setShape()
Ejemplo n.º 5
0
    def _post_init(self):
        app = wx.GetApp()
        app.set_pug_settings( self.pug_settings)
        code_exceptions = {}
        initial_scene = getattr(self.pug_settings, 'initial_scene', 'Scene')
        self.reload_components( doReload=True)
        self.reload_scene_list( doReload=True)
        # initial scene
        if initial_scene != 'Scene' and initial_scene in self.sceneDict:
            # test initial scene                
            try:
                test_scene_code( initial_scene)
            except:
                key = '*Error loading initial scene ('+initial_scene+')'                
                code_exceptions[key] = sys.exc_info()
                self.set_scene( Scene)
            else:
                self.set_scene( initial_scene)
        else:
            self.set_scene( Scene)
        
        # default menus
        if not self.__cached[2]:
            app.add_global_menu("&File",
                [["New Project", self.new_project, 
                        "Create a new Pig project"],
                 ["Open Project", self.open_project,
                        "Open a Pig project"],
                 ["*DIVIDER*"],
                 ["&New Scene\tCtrl+N", [self.set_scene, ("Scene", True), {}],
                        "Create a new Scene"],
                 ["&Save...\tCtrl+S", save_scene,
                        "Save scene"],
                 ["Save &As...\tCtrl+A", save_scene_as,
                        "Save scene as"],
                 ["New &Object\tShift+Ctrl+N", self.add_object,
                        "Add the currently selected add object to the scene"],
                 ["*DIVIDER*"],
#                 ["Selection Tab", self.open_selection_frame, 
#                        "Open a new tab to view selected objects"],
                 ["Open Code &Editor\tCtrl+E", open_code_editor,
                        "Open python code editor."],
                 ["Browse Project &Folder\tCtrl+F", self.open_project_folder,
                        "Open the project's folder in a browser"],
                 ["Show All &Windows\tCtrl+W", app.raise_all_frames,
                        "Show all open Pug Windows"],
                 ["&Quit\tCtrl+Q", self.quit]])
            app.add_global_menu("&Edit",
                [["Undo\tCtrl+Z", app.history.undo, "Undo last change group"],
                 ["Redo\tCtrl+Y", app.history.redo, "Redo last undo group"],
                 ["Small Undo\tShift+Ctrl+Z", app.history.small_undo,
                        "Undo last individual change"],
                 ["Small Redo\tShift+Ctrl+Y", app.history.small_redo,
                        "Redo last individual undo"],
                 ["*DIVIDER*"],
                 ["Cut\tCtrl+X", self.cut_selected, "Cut selection"],
                 ["Copy\tCtrl+C", self.copy_selected, "Copy selection"],
                 ["Paste\tCtrl+V", self.paste_clipboard, "Paste selection"]])
            self.__cached[2]=True
        # open MDI frame
        if not app.get_project_frame():
            frame = PugMDI(
                        [[self, {'objectpath':"Project",'name':"ProjectFrame"}],
                        [self.scene, {'title':"Scene",'name':"SceneFrame"}],
                        ['selection', {'name':"Selection"}],
                        ],
                    title=''.join(["P.I.G. Editor - ", self.project_name]),
                    name="Pig Editor", show=False)
            app.set_project_frame(frame)
        else:
            frame = app.get_project_frame()
        target = FileDropTarget(self)
        frame.SetDropTarget( target)
        frame.GetNotebook().Split(2, wx.LEFT)
        size = frame.GetSize()
        frame.GetNotebook().GetPage(1).SetSize([size[0]/2,size[1]])
        wx.FindWindowByName("ProjectFrame").Activate()
        frame._on_raise_all_frames = self.raise_canvas
        # attach window manager to opioid window
        opioid_rect = self.pug_settings.rect_opioid_window # x, y, w, h        
        options = dict(pos=tuple(opioid_rect[0:2]), 
                       size=tuple(opioid_rect[2:4]),
                       opengl=True, doublebuff=True, hardware=True)
        canvas_options = canvas_manager.getDefaultOptions()
        canvas_options.update(options)
        self.canvas = canvas_manager( canvas_options)
        self.frame = frame
        # cache a sprite view for speed on first selection
        if not self.__cached[0]:
            dummy = Sprite( register=False)
            cache_default_view( dummy)
            dummy.delete()
            while dummy in self.Director.scene.nodes:
                time.sleep(0.1)
            self.__cached[0] = True       
        self._initialized = True     
        # Import Psyco if available
        try:
            import psyco
            psyco.full()
        except ImportError:
            pass
        
        # create a project file error report at startup
        self.reload_project_files( errors=code_exceptions, save_reload=False)
        # for some reason, canvas needs to be activated before sound plays
        wx.CallLater(111,self.canvas.Activate) 
        wx.CallLater(222,frame.Raise) 
        wx.CallLater(222,frame.Show) 
Ejemplo n.º 6
0
    def _post_init(self):
        app = wx.GetApp()
        app.set_pug_settings(self.pug_settings)
        code_exceptions = {}
        initial_scene = getattr(self.pug_settings, 'initial_scene', 'Scene')
        self.reload_components(doReload=True)
        self.reload_scene_list(doReload=True)
        # initial scene
        if initial_scene != 'Scene' and initial_scene in self.sceneDict:
            # test initial scene
            try:
                test_scene_code(initial_scene)
            except:
                key = '*Error loading initial scene (' + initial_scene + ')'
                code_exceptions[key] = sys.exc_info()
                self.set_scene(Scene)
            else:
                self.set_scene(initial_scene)
        else:
            self.set_scene(Scene)

        # default menus
        if not self.__cached[2]:
            app.add_global_menu(
                "&File",
                [
                    [
                        "New Project", self.new_project,
                        "Create a new Pig project"
                    ],
                    ["Open Project", self.open_project, "Open a Pig project"],
                    ["*DIVIDER*"],
                    [
                        "&New Scene\tCtrl+N",
                        [self.set_scene,
                         ("Scene", True), {}], "Create a new Scene"
                    ],
                    ["&Save...\tCtrl+S", save_scene, "Save scene"],
                    ["Save &As...\tCtrl+A", save_scene_as, "Save scene as"],
                    [
                        "New &Object\tShift+Ctrl+N", self.add_object,
                        "Add the currently selected add object to the scene"
                    ],
                    ["*DIVIDER*"],
                    #                 ["Selection Tab", self.open_selection_frame,
                    #                        "Open a new tab to view selected objects"],
                    [
                        "Open Code &Editor\tCtrl+E", open_code_editor,
                        "Open python code editor."
                    ],
                    [
                        "Browse Project &Folder\tCtrl+F",
                        self.open_project_folder,
                        "Open the project's folder in a browser"
                    ],
                    [
                        "Show All &Windows\tCtrl+W", app.raise_all_frames,
                        "Show all open Pug Windows"
                    ],
                    ["&Quit\tCtrl+Q", self.quit]
                ])
            app.add_global_menu(
                "&Edit",
                [["Undo\tCtrl+Z", app.history.undo, "Undo last change group"],
                 ["Redo\tCtrl+Y", app.history.redo, "Redo last undo group"],
                 [
                     "Small Undo\tShift+Ctrl+Z", app.history.small_undo,
                     "Undo last individual change"
                 ],
                 [
                     "Small Redo\tShift+Ctrl+Y", app.history.small_redo,
                     "Redo last individual undo"
                 ], ["*DIVIDER*"],
                 ["Cut\tCtrl+X", self.cut_selected, "Cut selection"],
                 ["Copy\tCtrl+C", self.copy_selected, "Copy selection"],
                 ["Paste\tCtrl+V", self.paste_clipboard, "Paste selection"]])
            self.__cached[2] = True
        # open MDI frame
        if not app.get_project_frame():
            frame = PugMDI([
                [self, {
                    'objectpath': "Project",
                    'name': "ProjectFrame"
                }],
                [self.scene, {
                    'title': "Scene",
                    'name': "SceneFrame"
                }],
                ['selection', {
                    'name': "Selection"
                }],
            ],
                           title=''.join(
                               ["P.I.G. Editor - ", self.project_name]),
                           name="Pig Editor",
                           show=False)
            app.set_project_frame(frame)
        else:
            frame = app.get_project_frame()
        target = FileDropTarget(self)
        frame.SetDropTarget(target)
        frame.GetNotebook().Split(2, wx.LEFT)
        size = frame.GetSize()
        frame.GetNotebook().GetPage(1).SetSize([size[0] / 2, size[1]])
        wx.FindWindowByName("ProjectFrame").Activate()
        frame._on_raise_all_frames = self.raise_canvas
        # attach window manager to opioid window
        opioid_rect = self.pug_settings.rect_opioid_window  # x, y, w, h
        options = dict(pos=tuple(opioid_rect[0:2]),
                       size=tuple(opioid_rect[2:4]),
                       opengl=True,
                       doublebuff=True,
                       hardware=True)
        canvas_options = canvas_manager.getDefaultOptions()
        canvas_options.update(options)
        self.canvas = canvas_manager(canvas_options)
        self.frame = frame
        # cache a sprite view for speed on first selection
        if not self.__cached[0]:
            dummy = Sprite(register=False)
            cache_default_view(dummy)
            dummy.delete()
            while dummy in self.Director.scene.nodes:
                time.sleep(0.1)
            self.__cached[0] = True
        self._initialized = True
        # Import Psyco if available
        try:
            import psyco
            psyco.full()
        except ImportError:
            pass

        # create a project file error report at startup
        self.reload_project_files(errors=code_exceptions, save_reload=False)
        # for some reason, canvas needs to be activated before sound plays
        wx.CallLater(111, self.canvas.Activate)
        wx.CallLater(222, frame.Raise)
        wx.CallLater(222, frame.Show)