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
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')
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()
def onOpenFile(self): inst = misc.getInstance() inst.openFile(util.getCurPath() + 'Tabs\\th.jpg', 'jpg', None, ['C:\WINDOWS\system32\mspaint.exe'])
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
def onResume(self): minst = misc.getInstance() if minst.makeInstallTool('Make'): print 'pass'
def onShowSystrace(self): minst = misc.getInstance() print os.getcwd() minst.openFile(os.getcwd() + '\\Tool\\systrace\\trace.html', 'chrome') pass
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')
def onShowLogcatAll(self): if self.logcatFile != None and self.logcatFinish == True: inst = misc.getInstance() inst.openFile(self.logcatFile, 'log')
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')
def onCfgUedit(self, eid): m = misc.getInstance() m.cfgUedit(self.uedit[eid])