Added import/export support
Export works swimmingly, but import is slow and I can't figure out why.
This commit is contained in:
@@ -147,10 +147,9 @@ class DmgPatternEditorDlg (wx.Dialog):
|
||||
|
||||
self.SetSizer(mainSizer)
|
||||
|
||||
# <Import&Export>
|
||||
importExport = (("Import", wx.ART_FILE_OPEN),
|
||||
("Export", wx.ART_FILE_SAVE_AS))
|
||||
for name, art in importExport:
|
||||
importExport = (("Import", wx.ART_FILE_OPEN, "from"),
|
||||
("Export", wx.ART_FILE_SAVE_AS, "to"))
|
||||
for name, art, direction in importExport:
|
||||
bitmap = wx.ArtProvider.GetBitmap(art, wx.ART_BUTTON)
|
||||
btn = wx.BitmapButton(self, wx.ID_ANY, bitmap)
|
||||
|
||||
@@ -160,12 +159,9 @@ class DmgPatternEditorDlg (wx.Dialog):
|
||||
btn.Layout()
|
||||
setattr(self, name, btn)
|
||||
btn.Enable(True)
|
||||
btn.SetToolTipString("%s patterns" % name.capitalize())
|
||||
btn.SetToolTipString("%s patterns %s clipboard" % (name, direction) )
|
||||
footerSizer.Add(btn, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_RIGHT)
|
||||
|
||||
# </Import&Export>
|
||||
|
||||
|
||||
self.Layout()
|
||||
bsize = self.GetBestSize()
|
||||
self.SetSize((-1,bsize.height))
|
||||
|
||||
@@ -31,17 +31,15 @@ class DamagePattern():
|
||||
return cls.instance
|
||||
|
||||
def __init__(self):
|
||||
self.getDamagePatternList()
|
||||
|
||||
def getDamagePatternList(self):
|
||||
patterns = eos.db.getDamagePatternList()
|
||||
if len(patterns) == 0:
|
||||
try:
|
||||
uniform = eos.db.getDamagePattern("Uniform")
|
||||
except:
|
||||
uniform = eos.types.DamagePattern(25, 25, 25, 25)
|
||||
uniform.name = "Uniform"
|
||||
eos.db.save(uniform)
|
||||
patterns.append(uniform)
|
||||
|
||||
return patterns
|
||||
def getDamagePatternList(self):
|
||||
return eos.db.getDamagePatternList()
|
||||
|
||||
def getDamagePattern(self, name):
|
||||
return eos.db.getDamagePattern(name)
|
||||
@@ -67,8 +65,17 @@ class DamagePattern():
|
||||
eos.db.save(p)
|
||||
|
||||
def importPatterns(self, text):
|
||||
eos.types.DamagePattern.importPatterns(text)
|
||||
lookup = {}
|
||||
current = self.getDamagePatternList()
|
||||
for pattern in current:
|
||||
lookup[pattern.name] = pattern
|
||||
imports = eos.types.DamagePattern.importPatterns(text)
|
||||
for pattern in imports:
|
||||
if pattern.name in lookup:
|
||||
self.deletePattern( lookup[pattern.name] )
|
||||
eos.db.save(pattern)
|
||||
|
||||
def exportPatterns(self):
|
||||
patterns = self.getDamagePatternList()
|
||||
return eos.types.DamagePattern.exportPatterns(*patterns)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user