def __showSetupDialog(self): setupDialog = SetupDialog(self) if setupDialog.exec_() != QDialog.Accepted: return if self.recLayer is not None: result = QMessageBox.question(self, 'Replace Layer?', "There seems to already be a REC layer in the project. Are you sure you wish to overwrite it?", QMessageBox.No | QMessageBox.Yes) if result == QMessageBox.No: return QgsMapLayerRegistry.instance().removeMapLayer(self.recLayer.id()) # Sets Coordinate System layers = self.iface.legendInterface().layers() if(layers): self.iface.mapCanvas().setCrsTransformEnabled(True) self.iface.mapCanvas().setDestinationCrs(QgsCoordinateReferenceSystem(2193, QgsCoordinateReferenceSystem.EpsgCrsId)) self.iface.mainWindow().setCursor(Qt.BusyCursor) self.recLayer = QgsRasterLayer("url=%s&crs=EPSG:2193&format=image/png" % setupDialog.getRecLayerURL(), setupDialog.getRecLayerTitle(), "wms") if self.recLayer is None: self.iface.mainWindow().unsetCursor() QMessageBox.warning(self.iface.mainWindow(), "Invalid layer", "The REC network layer is invalid. Cannot continue.") return QgsMapLayerRegistry.instance().addMapLayers([self.recLayer]) self.iface.mainWindow().unsetCursor() self.toolButtonSelectPosition.setEnabled(True)
def do_setup(self, evt=None): dlg = SetupDialog(self, -1, 'Select paper size') if dlg.ShowModal() == wx.ID_OK: self.paper_size = dlg.cmb_paper_size.GetValue() self.paper_orientation = dlg.cmb_paper_orientation.GetValue()[0] self.draw_paper_size_guides() dlg.Destroy()
def setupDialog(self, event): dlg=SetupDialog(self) dlg.setData(( self.server_ip, self.server_socket, self.load_row_count, self.alias_dict, self.bg_color, self.oc_color, self.fg_color)) if dlg.ShowModal()!=wx.ID_OK: dlg.Destroy() return data=dlg.getData() dlg.Destroy() server_ip, server_socket, load_row_count, alias_dict, bg_color, oc_color, fg_color=data reload_list_ctrl=restart_client=oc_color_changed=False if server_ip!=self.server_ip or server_socket!=self.server_socket: restart_client=True # IP-Adresse oder Socket vom Server geändert if load_row_count!=self.load_row_count or self.aliasDictCompare(alias_dict, self.alias_dict)!=True: reload_list_ctrl=True # Inhaltsverändernde Parameter für self.list_ctrl wurden geändert if oc_color!=self.oc_color: oc_color_changed=True # die Hintergrundfarbe für offene Verbindungen wurde geändert oc_color_merk=self.oc_color self.server_ip, self.server_socket, self.load_row_count, self.alias_dict, self.bg_color, self.oc_color, self.fg_color=data cfgfl=CfgFile() cfgfl.setSetupData(data) self.list_ctrl.SetBackgroundColour(self.bg_color) self.list_ctrl.SetTextColour(self.fg_color) self.alias_dict_fixed=self.fixAreaCode(self.alias_dict) if restart_client==True: wx.MessageBox("Der CallMonClient muss neu gestartet werden!", "Info", wx.OK|wx.ICON_INFORMATION) sys.exit() if reload_list_ctrl==True: self.fillListCtrl() # geänderte Aliasse oder Satzanzahl im ListCtrl korrigieren else: # wenn nicht ohnehin neu geladen wird if oc_color_changed==True: # und die Hintergrundfarbe für offene Verbindungen geändert wurde for i in range(self.list_ctrl.GetItemCount()): # über alle Sätze im list_ctrl if self.list_ctrl.GetItemBackgroundColour(i).GetAsString(wx.C2S_HTML_SYNTAX)==oc_color_merk: # Satz steht auf der alten Hintergrundfarbe für offene Verbindungen item=self.list_ctrl.GetItem(i) item.SetBackgroundColour(self.oc_color) # Farbe neu setzen self.list_ctrl.SetItem(item)
def OnInit(self): self.debugger = None self.toolmenu = MenuFrame(self.MenuDone) self.setupframe = SetupDialog(self.SetupDialogDone) self.setupframe.Show() return True
class AmigaXfer(wx.App): def __init__(self): super().__init__(redirect=False) self.floppyframe = None self.bootblockframe = None self.dosframe = None self.romframe = None return def OnInit(self): self.debugger = None self.toolmenu = MenuFrame(self.MenuDone) self.setupframe = SetupDialog(self.SetupDialogDone) self.setupframe.Show() return True def ShowAboutDialog(self): info = wx.adv.AboutDialogInfo() info.SetName("amigaXfer") info.SetVersion("1.1.0dev") info.SetDescription( "Data transfer and tools for an Amiga on the serial port.") info.SetCopyright("(C) 2021 Roc Vallès i Domènech") wx.adv.AboutBox(info) return def SetupDialogDone(self, ser, amiga, execlib, snip, resetfirst, crashentry, regs): self.setupframe.Hide() self.ser = ser self.amiga = amiga self.execlib = execlib self.snip = snip self.resetfirst = resetfirst self.crashentry = crashentry self.savedregs = regs wx.CallAfter(self.menutool) return def FloppyToolDone(self): self.floppyframe.Hide() wx.CallAfter(self.menutool) return def BootblockToolDone(self): self.bootblockframe.Hide() wx.CallAfter(self.menutool) return def DosToolDone(self): self.dosframe.Hide() wx.CallAfter(self.menutool) return def RomToolDone(self): self.romframe.Hide() wx.CallAfter(self.menutool) return def MenuDone(self, choice): self.toolmenu.Hide() if choice == "exitresume": print(f"Exit method: {choice}.") print("Freeing snippets.") self.snip.freeall() print("Restoring non-scratch registers.") self.amiga.setregs(self.savedregs) print("Enable.") self.execlib.Enable() if self.amiga.debugger == "SAD": self.execlib.exitdebugloop() self.amiga.setreg("d0", 0) self.amiga.resume() wx.Exit() elif choice == "exitreset": print(f"Exit method: {choice}.") self.amiga.reboot() wx.Exit() elif choice == "exithardreset": print(f"Exit method: {choice}.") self.amiga.poke32(self.execlib.base + self.execlib.ColdCapture, 0) self.amiga.poke32(self.execlib.base + self.execlib.WarmCapture, 0xFFFFFFFF) self.amiga.reboot() wx.Exit() elif choice == "exitdebug": print(f"Exit method: {choice}.") print("Freeing snippets.") self.snip.freeall() print("Restoring non-scratch registers.") self.amiga.setregs(self.savedregs) self.amiga.setreg("d0", 0) print("Enable.") self.execlib.Enable() if self.amiga.debugger == "SAD": self.execlib.exitdebugloop() wx.Exit() elif choice == "floppytool": wx.CallAfter(self.floppytool) elif choice == "bootblocktool": wx.CallAfter(self.bootblocktool) elif choice == "dostool": wx.CallAfter(self.dostool) elif choice == "romtool": wx.CallAfter(self.romtool) else: print(f"Choice {choice} isn't implemented.") return def menutool(self): self.toolmenu.Show() wx.CallAfter(self.toolmenu.MenuSetup, self.execlib.is_process(), self.crashentry) return def floppytool(self): if not self.floppyframe: self.floppyframe = FloppyFrame() self.floppyframe.Show() wx.CallAfter(self.floppyframe.XferSetup, self.FloppyToolDone, self.ser, self.amiga, self.execlib, self.snip) return def bootblocktool(self): if not self.bootblockframe: self.bootblockframe = BootblockFrame() self.bootblockframe.Show() wx.CallAfter(self.bootblockframe.BootblockSetup, self.BootblockToolDone, self.ser, self.amiga, self.execlib, self.snip) return def dostool(self): if not self.dosframe: self.dosframe = DosFrame() self.dosframe.Show() wx.CallAfter(self.dosframe.DosSetup, self.DosToolDone, self.ser, self.amiga, self.execlib, self.snip) return def romtool(self): if not self.romframe: self.romframe = RomFrame() self.romframe.Show() wx.CallAfter(self.romframe.RomSetup, self.RomToolDone, self.ser, self.amiga, self.execlib, self.snip) return def UglyExit(self): wx.Exit() return