File size: 1,558 Bytes
d12bc25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# dbgpyapp.py  - Debugger Python application class
#
import sys

import win32con
import win32ui
from pywin.framework import intpyapp

version = "0.3.0"


class DebuggerPythonApp(intpyapp.InteractivePythonApp):
    def LoadMainFrame(self):
        "Create the main applications frame"
        self.frame = self.CreateMainFrame()
        self.SetMainFrame(self.frame)
        self.frame.LoadFrame(win32ui.IDR_DEBUGGER, win32con.WS_OVERLAPPEDWINDOW)
        self.frame.DragAcceptFiles()  # we can accept these.
        self.frame.ShowWindow(win32con.SW_HIDE)
        self.frame.UpdateWindow()

        # but we do rehook, hooking the new code objects.
        self.HookCommands()

    def InitInstance(self):
        # Use a registry path of "Python\Pythonwin Debugger
        win32ui.SetAppName(win32ui.LoadString(win32ui.IDR_DEBUGGER))
        win32ui.SetRegistryKey("Python %s" % (sys.winver,))
        # We _need_ the Scintilla color editor.
        # (and we _always_ get it now :-)

        numMRU = win32ui.GetProfileVal("Settings", "Recent File List Size", 10)
        win32ui.LoadStdProfileSettings(numMRU)

        self.LoadMainFrame()

        # Display the interactive window if the user wants it.
        from pywin.framework import interact

        interact.CreateInteractiveWindowUserPreference()

        # Load the modules we use internally.
        self.LoadSystemModules()
        # Load additional module the user may want.
        self.LoadUserModules()

        # 		win32ui.CreateDebuggerThread()
        win32ui.EnableControlContainer()