srcanamdw/codescanner/pyinstaller/McGUI.py
author noe\swadi
Thu, 18 Feb 2010 12:29:02 +0530
changeset 1 22878952f6e2
permissions -rw-r--r--
Committing the CodeScanner Core tool This component has been moved from the StaticAnaApps package. BUG : 5889 (http://developer.symbian.org/webbugs/show_bug.cgi?id=5889).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     1
#!/usr/bin/python
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     2
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     3
# Tkinter interface to the McMillan installer
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     4
# (c) 2003 Alan James Salmoni - yes, all this bad code is all mine!!!
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     5
# released under the MIT license
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     6
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     7
import os, os.path
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     8
from Tkinter import *
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     9
import tkFileDialog
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    10
import FileDialog
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    11
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    12
class McGUI:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    13
    def __init__(self):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    14
        root = Tk()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    15
        fr1 = Frame(root)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    16
        fr1["width"] = 200
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    17
        fr1["height"] = 100
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    18
        fr1.pack(side="top")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    19
        fr2 = Frame(root)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    20
        fr2["width"] = 200
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    21
        fr2["height"] = 300
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    22
        fr2["borderwidth"] = 2
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    23
        fr2["relief"] = "ridge"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    24
        fr2.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    25
        fr4 = Frame(root)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    26
        fr4["width"]=200
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    27
        fr4["height"]=100
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    28
        fr4.pack(side="bottom")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    29
        getFileButton = Button(fr1)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    30
        getFileButton["text"] = "Script..."
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    31
        getFileButton.bind("<Button>",self.GetFile)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    32
        getFileButton.pack(side="left")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    33
        self.filein = Entry(fr1)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    34
        self.filein.pack(side="right")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    35
        self.filetypecheck = Checkbutton(fr2)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    36
        self.filetypecheck["text"] = "One File Package                 "
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    37
        self.filetype = IntVar()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    38
        self.filetypecheck["variable"] = self.filetype
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    39
        self.filetypecheck.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    40
        self.tkcheck = Checkbutton(fr2)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    41
        self.tkcheck["text"] = "Include Tcl/Tk                         "
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    42
        self.tk = IntVar()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    43
        self.tkcheck["variable"] = self.tk
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    44
        self.tkcheck.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    45
        self.asciicheck = Checkbutton(fr2)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    46
        self.asciicheck["text"] = "Do NOT include decodings"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    47
        self.ascii = IntVar()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    48
        self.asciicheck["variable"] = self.ascii
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    49
        self.asciicheck.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    50
        self.debugcheck = Checkbutton(fr2)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    51
        self.debugcheck["text"] = "Use debug versions             "
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    52
        self.debug = IntVar()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    53
        self.debugcheck["variable"] = self.debug
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    54
        self.debugcheck.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    55
        self.noconsolecheck = Checkbutton(fr2)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    56
        self.noconsolecheck["text"] = "No console (Windows only)"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    57
        self.noconsole = IntVar()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    58
        self.noconsolecheck["variable"] = self.noconsole
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    59
        self.noconsolecheck.pack()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    60
        okaybutton = Button(fr4)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    61
        okaybutton["text"] = "Okay   "
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    62
        okaybutton.bind("<Button>",self.makePackage)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    63
        okaybutton.pack(side="left")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    64
        cancelbutton = Button(fr4)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    65
        cancelbutton["text"] = "Cancel"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    66
        cancelbutton.bind("<Button>",self.killapp)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    67
        cancelbutton.pack(side="right")
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    68
        self.fin = ''
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    69
        self.fout = ''
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    70
        root.mainloop()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    71
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    72
    def killapp(self, event):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    73
        sys.exit(0)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    74
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    75
    def makePackage(self, event):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    76
        commands = 'python Makespec.py '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    77
        if (self.filetype.get() == 1):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    78
            commands = commands + '--onefile '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    79
        if (self.tk.get() == 1):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    80
            commands = commands + '--tk '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    81
        if (self.ascii.get() == 1):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    82
            commands = commands + '--ascii '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    83
        if (self.debug.get() == 1):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    84
            commands = commands + '--debug '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    85
        if (self.noconsole.get() == 1):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    86
            commands = commands + '--noconsole '
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    87
        commands = commands + self.fin
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    88
        x = os.path.split(self.fin)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    89
        y = os.path.splitext(x[1])
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    90
        os.system(commands)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    91
        commands = 'python Build.py '+str(y[0])+os.sep+str(y[0])+'.spec'
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    92
        os.system(commands)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    93
        sys.exit(0)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    94
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    95
    def GetFile(self, event):
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    96
        self.fin = tkFileDialog.askopenfilename()
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    97
        self.filein.insert(0,self.fin)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    98
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    99
if __name__ == "__main__":
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   100
    app = McGUI()