diff --git a/gui/mainFrame.py b/gui/mainFrame.py index cd48e4256..568082a6b 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -39,6 +39,7 @@ import gui.fittingView as fv from wx._core import PyDeadObjectError import os.path import gui.chromeTabs +from util import toClipboard, fromClipboard #dummy panel no paint no erasebk class PFPanel(wx.Panel): @@ -290,20 +291,20 @@ class MainFrame(wx.Frame): def clipboardEft(self): sFit = service.Fit.getInstance() - self.toClipboard(sFit.exportFit(self.getActiveFit())) + toClipboard(sFit.exportFit(self.getActiveFit())) def clipboardDna(self): sFit = service.Fit.getInstance() - self.toClipboard(sFit.exportDna(self.getActiveFit())) + toClipboard(sFit.exportDna(self.getActiveFit())) def clipboardXml(self): sFit = service.Fit.getInstance() - self.toClipboard(sFit.exportXml(self.getActiveFit())) + toClipboard(sFit.exportXml(self.getActiveFit())) def importFromClipboard(self, event): sFit = service.Fit.getInstance() try: - fits = sFit.importFitFromBuffer(self.fromClipboard()) + fits = sFit.importFitFromBuffer(fromClipboard()) IDs = sFit.saveImportedFits(fits) self._openAfterImport(len(fits), IDs) except: @@ -322,24 +323,6 @@ class MainFrame(wx.Frame): pass dlg.Destroy() - def toClipboard(self, text): - clip = wx.TheClipboard - clip.Open() - data = wx.TextDataObject(text) - clip.SetData(data) - clip.Close() - - def fromClipboard(self): - clip = wx.TheClipboard - clip.Open() - data = wx.TextDataObject("") - if clip.GetData(data): - clip.Close() - return data.GetText() - else: - clip.Close() - return None - def backupToXml(self, event): sFit = service.Fit.getInstance() saveDialog = wx.FileDialog( diff --git a/gui/patternEditor.py b/gui/patternEditor.py index 4d1dac459..bdd79e16a 100644 --- a/gui/patternEditor.py +++ b/gui/patternEditor.py @@ -21,6 +21,7 @@ import wx import bitmapLoader from wx.lib.intctrl import IntCtrl import service +from util import toClipboard, fromClipboard ########################################################################### ## Class DmgPatternEditorDlg ########################################################################### @@ -344,24 +345,15 @@ class DmgPatternEditorDlg (wx.Dialog): pass def importPatterns(self, event): - clip = wx.TheClipboard - clip.Open() - data = wx.TextDataObject("") - if clip.GetData(data): + text = fromClipboard() + if text: sDP = service.DamagePattern.getInstance() - sDP.importPatterns( data.GetText() ) + sDP.importPatterns(text) self.stPercentages.SetLabel("Patterns imported from clipboard") else: self.stPercentages.SetLabel("Could not import from clipboard") - clip.Close() def exportPatterns(self, event): sDP = service.DamagePattern.getInstance() - text = sDP.exportPatterns() - - clip = wx.TheClipboard - clip.Open() - data = wx.TextDataObject(text) - clip.SetData(data) + toClipboard( sDP.exportPatterns() ) self.stPercentages.SetLabel("Patterns exported to clipboard") - clip.Close() diff --git a/util.py b/util.py index f8f55fe7b..f5a359979 100644 --- a/util.py +++ b/util.py @@ -1,4 +1,5 @@ import math +import wx def formatAmount(val, prec=3, lowest=0, highest=0): """ @@ -72,3 +73,21 @@ def processAmount(val, prec=3): # Strip trailing zero for integers and convert to string result = str(val)[-2:] == '.0' and str(val)[:-2] or str(val) return result + +def toClipboard(text): + clip = wx.TheClipboard + clip.Open() + data = wx.TextDataObject(text) + clip.SetData(data) + clip.Close() + +def fromClipboard(): + clip = wx.TheClipboard + clip.Open() + data = wx.TextDataObject("") + if clip.GetData(data): + clip.Close() + return data.GetText() + else: + clip.Close() + return None