Esempio n. 1
0
	def onOpenAppiot(self):
		apkFile = self.frame.doFileDialog('*.apk')
		
		minst = misc.getInstance()
		if minst.makeInstallTool('apktool') and apkFile != None:
			self.frame.printL('open ' + apkFile)
			apkDir = os.path.dirname(apkFile) + '\\apkOutput'
			#self.frame.runCmdCbk('Tool\\apktool\\apktool.bat d ' + apkFile + ' ' + apkDir, self.sample)
			self.frame.printL(util.runWait('Tool\\apktool\\apktool.bat d ' + apkFile + ' ' + apkDir))
			self.apkFile = apkFile
Esempio n. 2
0
 def onShowCustomLogcat(self):
     if self.logcatFile != None and self.logcatFinish == True:
         pid = self.pidEdit.getText()
         if pid == '':
             pid = None
         
         tag = self.tagEdit.getText()
         tags = []
         if tag != '':
             tags = tags + [tag]
         
         for i in range(len(self.moduleNames)):
             if self.moduleCbox.getSel(i):
                 tags = tags + self.moduleTags[i]
         print tags
         
         if len(tags) != 0 or pid != None:
             filePath = util.joinFileSubName(self.logcatFile, 'cur')
             self.ar.filterLogcat(self.logcatFile, filePath, tags, pid)
             inst = misc.getInstance()
             inst.openFile(filePath, 'log')
Esempio n. 3
0
    def __init__(self, _name, _pos=(0,0), _size = None):
        g = globals.getInstance()
        
        self.cfg_name = g.configFileName #'cfg.ini'
        
        self.TEXT_W = g.uiTextWidth
        
        if (_size == None):
            size = wx.DisplaySize()
            _size = (size[0], size[1] - 50)
        
        #width = _size[0]
        height = _size[1] - 100
        
        wx.Frame.__init__(self, None, -1, _name, pos=_pos, size=_size)

        self.timers = {}

        if (not os.path.isfile(self.cfg_name)):
            tmpFile = open(self.cfg_name, "w")
            tmpFile.close()
            pass

        tmpDir = 'Temp'
        if not os.path.isdir(tmpDir):
            os.makedirs(tmpDir)

        self.config = ConfigParser.ConfigParser()
        self.config.readfp(open(self.cfg_name, 'r'))

        if not self.config.has_section('fileDialog'):
            self.config.add_section('fileDialog')
            self.config.write(open(self.cfg_name, "w"))
        if not self.config.has_section('dirDialog'):
            self.config.add_section('dirDialog')
            self.config.write(open(self.cfg_name, "w"))

        self.misc = misc.getInstance()
        self.misc.setFrame(self)


        self.menuBar = wx.MenuBar()
        self.SetMenuBar(self.menuBar)

        Mode = 1

        if (Mode == 0):
            self.panel = wx.Panel(self, -1)
        elif (Mode == 1):
            splitter = wx.SplitterWindow(self, style = wx.SP_3D| wx.SP_LIVE_UPDATE)
            TopPanel = wx.Panel(splitter)
            BottomPanel = wx.Panel(splitter)
            splitter.SplitHorizontally(TopPanel, BottomPanel)
            PanelSizer=wx.BoxSizer(wx.VERTICAL)
            PanelSizer.Add(splitter, 1, wx.EXPAND | wx.ALL)
            self.SetSizer(PanelSizer)
            
            splitter.SetSashPosition(height - 200)
            
            self.panel = TopPanel
            self.outPanel = BottomPanel
        elif (Mode == 2):
            TBsplitter = wx.SplitterWindow(self, style = wx.SP_3D| wx.SP_LIVE_UPDATE)
            topPanel = wx.Panel(TBsplitter)
            bottomPanel = wx.Panel(TBsplitter)
            TLRsplitter = wx.SplitterWindow(topPanel, style = wx.SP_3D| wx.SP_LIVE_UPDATE)
            leftPanel = wx.Panel(TLRsplitter)
            rightPanel = wx.Panel(TLRsplitter)
            topPanel.SetBackgroundColour('YELLOW GREEN')
            bottomPanel.SetBackgroundColour('SLATE BLUE')
            leftPanel.SetBackgroundColour('SEA GREEN')
            rightPanel.SetBackgroundColour('STEEL BLUE')
            
            TLRsplitter.SplitVertically(leftPanel, rightPanel) 
            PanelSizer = wx.BoxSizer(wx.VERTICAL)
            PanelSizer.Add(TLRsplitter, 1, wx.EXPAND | wx.ALL)
            topPanel.SetSizer(PanelSizer)
            
            TBsplitter.SplitHorizontally(topPanel, bottomPanel)
            PanelSizer = wx.BoxSizer(wx.VERTICAL)
            PanelSizer.Add(TBsplitter, 1, wx.EXPAND | wx.ALL)
            self.SetSizer(PanelSizer)
            self.panel = leftPanel
            self.outPanel = BottomPanel 

        self.Vsplitter = splitter

#output
        notebookLog = wx.Notebook(self.outPanel)
        
        pt = wx.Panel(notebookLog)
        #ot = wx.TextCtrl(self.outPanel, -1, "Welcome!\n", style=wx.TE_MULTILINE|wx.TE_RICH2)
        ot = wx.TextCtrl(pt, -1, "Welcome!\n", style = wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL)
        #wx.Log.SetActiveTarget(wx.LogTextCtrl(ot))
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(ot, 1, wx.ALL|wx.EXPAND, 5)
        pt.SetSizer(sizer)
        notebookLog.AddPage(pt, 'Message')
        self.output = ot
        
#Log
        pt = wx.Panel(notebookLog)
        ot = wx.ListCtrl(pt, style = wx.LC_REPORT )
        columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M']
        for i in range(len(columns)):
            ot.InsertColumn(i, columns[i])
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(ot, 1, wx.ALL|wx.EXPAND, 5)
        pt.SetSizer(sizer)
        notebookLog.AddPage(pt, 'Log')
        self.outList = ot
        
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(notebookLog, 1, wx.ALL|wx.EXPAND, 5)
        self.outPanel.SetSizer(sizer)
        self.maxLogNumber = 1000
        self.clearLogNumber = 100
        self.curLogNumber = 0
        
#status
        self.statusBar = self.CreateStatusBar()


#menu
        menuFolder = 'Menus'
        files = util.listFile(menuFolder)
        for filename in files:
            name = util.dir2module(filename)
            if (name != None):
#                try:
                    dyn = dynLoad(menuFolder + '.' + name, ['*'])
                    ins = dyn.getClassInstance('menuFrame', self)
                    if ins.menuName == None:
                        ins.menuName = name
                    self.menuBar.Append(ins, ins.menuName)
#                except:
#                    print 'Menu(' + name + ') error.'

        menuHelp = wx.Menu()
        g = globals.getInstance()
        menuHelp.Append(-1, g.version)
        self.menuBar.Append(menuHelp, 'Help')
        
#tab
        self.tabFrames = {}
        tabId = 0
        notebook = wx.Notebook(self.panel)
        tabFolder = 'Tabs'
        files = util.listFile(tabFolder)
        
        for filename in files:
            name = util.dir2module(filename)
            if (name != None):
#                try:
                dyn = dynLoad(tabFolder+'.'+name,['*'])
                ins = dyn.getClassInstance('tabFrame', notebook, self)
                ins.performConfig()
                #ins.performCreate()
                if ins.tabName == None:
                    ins.tabName = name
                notebook.AddPage(ins, ins.tabName)
                self.tabFrames[ins.tabName] = [ tabId, ins ]
                tabId = tabId + 1
#               except Exception as e:
#                   ins.Destroy()
#                   print 'Tab(' + name + ') error.'
#                   print e
        notebook.GetPage(0).performCreateIfNeed()
        notebook.GetPage(0).performResume(None)
        notebook.SetSelection(0)
        
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(notebook, 1, wx.ALL|wx.EXPAND, 5)
        self.panel.SetSizer(sizer)
        notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED, self.onNotebookPageChange, notebook)
        
        self.notebook = notebook
        
        self.Bind(wx.EVT_CLOSE, self.onCloseWindow)  
        
        self.EVENT_CUSTOMER = wx.NewEventType()
        EVT_CUSTOMER = wx.PyEventBinder(self.EVENT_CUSTOMER, 1)
        self.Bind(EVT_CUSTOMER, self.onCustomerEvent, self.panel)
        
        
        self.panel.Layout()
        self.panel.Refresh()
        self.Layout()
        self.Refresh()
        self.Show()
Esempio n. 4
0
 def onOpenFile(self):
     inst = misc.getInstance()
     inst.openFile(util.getCurPath() + 'Tabs\\th.jpg', 'jpg', None, ['C:\WINDOWS\system32\mspaint.exe'])
Esempio n. 5
0
    def onCreate(self):
        #colors = ["red", "blue", "gray", "yellow", "green"]
        #self.SetBackgroundColour("gray")
        
        self.createStatic("Name:", 1, 1)
        self.createStatic("Name:", 2, 2)
        
        self.createButton("RunCmd", 8, 2, 15, self.OnClickRunCmd, eCbk = self.onShow)
        self.createButton("InputWait", 8, -1, 15, self.OnClickInputWait, eCbk = self.onShow)
        self.createButton("SendMessage", 8, -1, 15, self.onClickSendMessage, eCbk = self.onShow)
        self.createButton("Dialog", 8, -1, 15, self.onClickDialog, eCbk = self.onShow)
        self.createButton('OpenFile', 8, -1, 15, self.onOpenFile, eCbk = self.onShow)
        self.createButton("Log", 8, -1, 15, self.onClickLog, eCbk = self.onShow)
        self.createButton('Tree',8, -1, 15, self.onClickTree, eCbk = self.onShow)
        self.createButton('DirDialog',8, -1, 15, self.onFileDialog, eCbk = self.onShow)
        self.createButton('WriteExcel',8, -1, 15, self.onWriteExcel, eCbk = self.onShow)
        self.createButton('util.split',8, -1, 15, self.onUtilSplit, eCbk = self.onShow)
        self.createButton('timer start',8, -1, 15, self.onTimerStart, eCbk = self.onShow)
        self.createButton('timer stop',8, -1, 15, self.onTimerStop, eCbk = self.onShow)
        self.createButton('goto tab2',8, -1, 15, self.onGotoTab2, eCbk = self.onShow)
        self.createButton('util',8, -1, 15, self.onUtil, eCbk = self.onShow)
        self.btnSet = self.createButton('Button.reset', 8, -1, 15, self.btnReset, eCbk = self.onShow)
        self.createButton('trace',8, -1, 15, self.onTraceView, eCbk = self.onShow)
        self.createButton('enableButton',8, -1, 15, self.onEnableButton)
        self.createButton('setBitmap',8, -1, 15, self.onSetBitmap)
        self.createButton('startTask',8, -1, 15, self.onStartTask)
        
        
        self.tree = self.createTree(-1 , 2, 30, 10)
        root = self.tree.addItem(None, 'dataA', 'AB', 'C')
        self.item = self.tree.addItem(root, "dataB")
        
        print self.tree.getItemData(root)
        
        datas = ["1", '2', '3']
        datas_data = ["A","B", "C"]
        self.tree.addItems(self.item, datas, datas_data)
        
        #self.tree.deleteItem()
        
        #self.tree.setSelAction(self.OnSelChanged)
        self.tree.setExpandAction(self.onExpand)
        #self.tree.setRClickAction(self.onTreeRightClick)
        #self.tree.expandItem(root)
        #self.tree.expandTreeItem(item)
        #self.tree.deleteTreeItem(item)
        
        table = self.createTable(-1, 2, int(self.getDisplayWidth()/2), 10, ['A','B','C'])
        table.setColWidth(0, 30)
        table.setColWidth(1, 30)
        table.setColWidth(2, 50)
        table.insertItem(2, ['1','1'])
        table.insertItem(2, ['2','2'])
        table.insertItem(2, ['3','3'])
        table.insertItem(2, ['S','S'])
        table.insertItem(2, ['5','5'])
        table.insertItem(2, ['6','6'])
        table.setItemText(2, 0, 'A')
        
        #table.deleteItem()
        table.setRClickAction(self.onTreeRightClick)
        self.table = table

        
        button = self.createButton("A", -1, 2, 5, self.OnClick, 1)
        button.setEnable(False)
        button.setEnable(True)
        self.text = self.createEdit(-1, 2, 50, 10)
        self.text.setEnterAction(self.onEditEnter)
        self.text.setFilter('1234567890')
        
        #self.createGauge(-1, 2, 10)
        
        self.sel = self.createCombo(-1, 2, ["COM1","COM2"])
        self.sel.setSel(1)
        
        self.bmp = self.createBitmap(5,20,20,10)
        self.bmp.setBitmap('Tabs\\th.jpg')
        self.bmp.setLeftClickAction(self.onBitmapCbk)
        
        self.popupA = self.createPopupMenu('P')
        self.popupA.addItem("A", self.onPopupA_A)
        self.popupA.addItem("B", self.onPopupA_B, 'B')
        
        self.tree.setRClickPopup(self.popupA, 'expand')
        
        
        #self.popupB = self.createPopupMenu()
        #self.popupB.addItem("A", self.OnClick)
        #self.popupB.addItem("B", self.OnClick)
        #self.popupB.addItem("C", self.OnClick)
        
        #self.tree.setRClickAction(self.OnRClickB)
        
        self.cbok = self.createCheckbox(-1, 12, 20, ['A', 'B','C', 'D'], 4)
        self.cbok.setAction(self.onCheckbox)
        self.cbok.setSel(True, 0)
        self.cbok.setSel(True, 1)
        self.cbok.setSel(True, 2)
        self.cbok.setSel(True, 3)
        
        self.createRadiobox(-1, 12, 'Sel', ['ABCD','B']).setAction(self.onRadio)
        
        self.createEdit(-1, 12, 20, 2).setChangeAction(self.onCheckbox)
        ce = self.createComboEdit(-1, 12, 20, ['A', 'B'])
        ce.deleteItem(0)
        ce.addItem('C')
        
        t = self.createTab(-1, 12, 20, 10)
        #t.addEdit('Edit')
        #t.addTree('Tree')
        m = t.addTable('Table', ['A','B','C'])
        m.setColWidth(0, 80)
        m.setColWidth(1, 20)
        m.insertItem(0, ['1','1'])
        m = t.addTable('Table', ['A','B'])
        
        self.bmp2 = t.addBitmap('bitmap')
        self.bmp2.setBitmap(util.getCurPath() + 'Tabs\\th.jpg')
        t.setSel(1)
        
        self.bmp2.setLeftSlideAction(self.onBmpSlide)
        
        
        
        print self.getCfg('A')
        self.setCfg('A', 'b')
        
        
        #ce = self.createComboEdit(300, 10, 20, ['A', 'B'])
        
        #self.setFramePosition(400)
        
        self.enableShow = False
        
        
        minst = misc.getInstance()
        if minst.makeInstallTool('Make'):
            print 'pass'
        
        return
Esempio n. 6
0
 def onResume(self):
     minst = misc.getInstance()
     if minst.makeInstallTool('Make'):
         print 'pass'
Esempio n. 7
0
	def onShowSystrace(self):
		minst = misc.getInstance()
		print os.getcwd()
		minst.openFile(os.getcwd() + '\\Tool\\systrace\\trace.html', 'chrome')	
		pass
Esempio n. 8
0
 def onShowLogcat(self, mid):
     if self.logcatFile != None and self.logcatFinish == True:
         filePath = util.joinFileSubName(self.logcatFile, self.moduleNames[mid])
         self.ar.filterLogcat(self.logcatFile, filePath, self.moduleTags[mid])
         inst = misc.getInstance()
         inst.openFile(filePath, 'log')
Esempio n. 9
0
 def onShowLogcatAll(self):
     if self.logcatFile != None and self.logcatFinish == True:
         inst = misc.getInstance()
         inst.openFile(self.logcatFile, 'log')    
Esempio n. 10
0
 def onCfgTool(self, tid):
     m = misc.getInstance()
     if m.makeInstallTool(self.tools[tid], True) != True:
         self.frame.printL('insall ' + self.tools[tid] +  ' error')
     else:
         self.frame.printL('insall ' + self.tools[tid] +  ' success')
Esempio n. 11
0
 def onCfgUedit(self, eid):
     m = misc.getInstance()
     m.cfgUedit(self.uedit[eid])