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)
Ejemplo n.º 2
0
    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()
Ejemplo n.º 3
0
  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)
Ejemplo n.º 4
0
 def OnInit(self):
     self.debugger = None
     self.toolmenu = MenuFrame(self.MenuDone)
     self.setupframe = SetupDialog(self.SetupDialogDone)
     self.setupframe.Show()
     return True
Ejemplo n.º 5
0
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