From 55eed0d029a5f3c6eb758b50e6003ba85ebae551 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sun, 31 Jan 2016 10:51:45 -0500 Subject: [PATCH 1/3] Revert "Fix Character Editor Dialog for osx" This reverts commit 9fc31d6a55f1c33f7fcc893085d7b063227a3c34. --- gui/characterEditor.py | 8 ++++++-- gui/mainFrame.py | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 8fa9a23b2..0fe9b37f6 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -127,7 +127,7 @@ class CharacterEditor(wx.Dialog): self.btnSaveChar.Bind(wx.EVT_BUTTON, self.saveChar) self.btnSaveAs.Bind(wx.EVT_BUTTON, self.saveCharAs) self.btnRevert.Bind(wx.EVT_BUTTON, self.revertChar) - self.btnOK.Bind(wx.EVT_BUTTON, self.OnClose) + self.btnOK.Bind(wx.EVT_BUTTON, self.editingFinished) mainSizer.Add(bSizerButtons, 0, wx.EXPAND, 5) @@ -167,6 +167,10 @@ class CharacterEditor(wx.Dialog): self.btnRestrict() + def editingFinished(self, event): + wx.PostEvent(self.mainFrame, GE.CharListUpdated()) + self.Close() + def registerEvents(self): self.Bind(wx.EVT_CLOSE, self.OnClose) self.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList) @@ -315,7 +319,7 @@ class CharacterEditor(wx.Dialog): sFit.clearFit(fitID) wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID)) - event.Skip() + self.Destroy() class SkillTreeView (wx.Panel): def __init__(self, parent): diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 93c92dc86..040872d64 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -351,7 +351,6 @@ class MainFrame(wx.Frame): def showCharacterEditor(self, event): dlg=CharacterEditor(self) dlg.ShowModal() - dlg.Destroy() def showAttrEditor(self, event): dlg=AttributeEditor(self) From 7e305aab67317cfd9e4e5decb73a5e6e0b449568 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sun, 31 Jan 2016 10:52:00 -0500 Subject: [PATCH 2/3] Revert "Tentative fix for character editor issues." This reverts commit 253ebdc4e1f9d618a84e8da88200710dd999aaee. --- gui/characterEditor.py | 25 ++++++++++++++++--------- gui/mainFrame.py | 2 +- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 0fe9b37f6..05824e80a 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -29,16 +29,18 @@ from gui.contextMenu import ContextMenu from wx.lib.buttons import GenBitmapButton import gui.globalEvents as GE -class CharacterEditor(wx.Dialog): +class CharacterEditor(wx.Frame): def __init__(self, parent): - wx.Dialog.__init__ (self, parent, id=wx.ID_ANY, title=u"pyfa: Character Editor", pos=wx.DefaultPosition, - size=wx.Size(640, 600), style=wx.DEFAULT_DIALOG_STYLE) + wx.Frame.__init__ (self, parent, id=wx.ID_ANY, title=u"pyfa: Character Editor", pos=wx.DefaultPosition, + size=wx.Size(641, 600), style=wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL) i = wx.IconFromBitmap(BitmapLoader.getBitmap("character_small", "gui")) self.SetIcon(i) self.mainFrame = parent - + + #self.disableWin = wx.WindowDisabler(self) + self.SetSizeHintsSz(wx.Size(640, 600), wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) mainSizer = wx.BoxSizer(wx.VERTICAL) @@ -168,11 +170,12 @@ class CharacterEditor(wx.Dialog): self.btnRestrict() def editingFinished(self, event): + #del self.disableWin wx.PostEvent(self.mainFrame, GE.CharListUpdated()) - self.Close() + self.Destroy() def registerEvents(self): - self.Bind(wx.EVT_CLOSE, self.OnClose) + self.Bind(wx.EVT_CLOSE, self.closeEvent) self.Bind(GE.CHAR_LIST_UPDATED, self.refreshCharacterList) self.charChoice.Bind(wx.EVT_CHOICE, self.charChanged) @@ -196,6 +199,11 @@ class CharacterEditor(wx.Dialog): self.sview.populateSkillTree() wx.PostEvent(self, GE.CharListUpdated()) + def closeEvent(self, event): + #del self.disableWin + wx.PostEvent(self.mainFrame, GE.CharListUpdated()) + self.Destroy() + def restrict(self): self.btnRename.Enable(False) self.btnDelete.Enable(False) @@ -311,15 +319,14 @@ class CharacterEditor(wx.Dialog): wx.PostEvent(self, GE.CharChanged()) - def OnClose(self, event): - wx.PostEvent(self.mainFrame, GE.CharListUpdated()) + def Destroy(self): sFit = service.Fit.getInstance() fitID = self.mainFrame.getActiveFit() if fitID is not None: sFit.clearFit(fitID) wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID)) - self.Destroy() + wx.Frame.Destroy(self) class SkillTreeView (wx.Panel): def __init__(self, parent): diff --git a/gui/mainFrame.py b/gui/mainFrame.py index 040872d64..41d7b0077 100644 --- a/gui/mainFrame.py +++ b/gui/mainFrame.py @@ -350,7 +350,7 @@ class MainFrame(wx.Frame): def showCharacterEditor(self, event): dlg=CharacterEditor(self) - dlg.ShowModal() + dlg.Show() def showAttrEditor(self, event): dlg=AttributeEditor(self) From 4e509bbaeeb2983a9f0f2469e31c49e5f2f52ddb Mon Sep 17 00:00:00 2001 From: blitzmann Date: Sat, 6 Feb 2016 16:04:29 -0500 Subject: [PATCH 3/3] Fix character editor crash on Windows by disallowing resizing. (#441) --- gui/characterEditor.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/gui/characterEditor.py b/gui/characterEditor.py index 05824e80a..7d45dae3d 100644 --- a/gui/characterEditor.py +++ b/gui/characterEditor.py @@ -32,7 +32,7 @@ import gui.globalEvents as GE class CharacterEditor(wx.Frame): def __init__(self, parent): wx.Frame.__init__ (self, parent, id=wx.ID_ANY, title=u"pyfa: Character Editor", pos=wx.DefaultPosition, - size=wx.Size(641, 600), style=wx.DEFAULT_FRAME_STYLE|wx.FRAME_FLOAT_ON_PARENT|wx.TAB_TRAVERSAL) + size=wx.Size(640, 600), style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER) i = wx.IconFromBitmap(BitmapLoader.getBitmap("character_small", "gui")) self.SetIcon(i) @@ -40,7 +40,6 @@ class CharacterEditor(wx.Frame): self.mainFrame = parent #self.disableWin = wx.WindowDisabler(self) - self.SetSizeHintsSz(wx.Size(640, 600), wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_BTNFACE ) ) mainSizer = wx.BoxSizer(wx.VERTICAL) @@ -801,4 +800,4 @@ class SaveCharacterAs(wx.Dialog): event.Skip() self.Close() - + \ No newline at end of file