208 self.StartBuffering() |
208 self.StartBuffering() |
209 elif self.CurrentAction[0] != "Add" or self.CurrentAction[1] != event.GetPosition() - 1: |
209 elif self.CurrentAction[0] != "Add" or self.CurrentAction[1] != event.GetPosition() - 1: |
210 self.Controler.EndBuffering() |
210 self.Controler.EndBuffering() |
211 self.StartBuffering() |
211 self.StartBuffering() |
212 self.CurrentAction = ("Add", event.GetPosition()) |
212 self.CurrentAction = ("Add", event.GetPosition()) |
|
213 wx.CallAfter(self.RefreshModel) |
213 elif mod_type&wx.stc.STC_MOD_BEFOREDELETE: |
214 elif mod_type&wx.stc.STC_MOD_BEFOREDELETE: |
214 if self.CurrentAction == None: |
215 if self.CurrentAction == None: |
215 self.StartBuffering() |
216 self.StartBuffering() |
216 elif self.CurrentAction[0] != "Delete" or self.CurrentAction[1] != event.GetPosition() + 1: |
217 elif self.CurrentAction[0] != "Delete" or self.CurrentAction[1] != event.GetPosition() + 1: |
217 self.Controler.EndBuffering() |
218 self.Controler.EndBuffering() |
218 self.StartBuffering() |
219 self.StartBuffering() |
219 self.CurrentAction = ("Delete", event.GetPosition()) |
220 self.CurrentAction = ("Delete", event.GetPosition()) |
|
221 wx.CallAfter(self.RefreshModel) |
220 event.Skip() |
222 event.Skip() |
221 |
223 |
222 def OnDoDrop(self, event): |
224 def OnDoDrop(self, event): |
223 self.ResetBuffer() |
225 self.ResetBuffer() |
224 wx.CallAfter(self.RefreshModel) |
226 wx.CallAfter(self.RefreshModel) |
225 event.Skip() |
227 event.Skip() |
226 |
228 |
227 def IsViewing(self, name): |
|
228 return self.Name == name |
|
229 |
|
230 # Buffer the last model state |
229 # Buffer the last model state |
231 def RefreshBuffer(self): |
230 def RefreshBuffer(self): |
232 self.Controler.BufferCFile() |
231 self.Controler.BufferCFile() |
233 if self.ParentWindow: |
232 if self.ParentWindow is not None: |
234 self.ParentWindow.RefreshTitle() |
233 self.ParentWindow.RefreshTitle() |
235 self.ParentWindow.RefreshFileMenu() |
234 self.ParentWindow.RefreshFileMenu() |
236 self.ParentWindow.RefreshEditMenu() |
235 self.ParentWindow.RefreshEditMenu() |
237 self.ParentWindow.RefreshPageTitles() |
236 self.ParentWindow.RefreshPageTitles() |
238 |
237 |
239 def StartBuffering(self): |
238 def StartBuffering(self): |
240 self.Controler.StartBuffering() |
239 self.Controler.StartBuffering() |
241 if self.ParentWindow: |
240 if self.ParentWindow is not None: |
242 self.ParentWindow.RefreshTitle() |
241 self.ParentWindow.RefreshTitle() |
243 self.ParentWindow.RefreshFileMenu() |
242 self.ParentWindow.RefreshFileMenu() |
244 self.ParentWindow.RefreshEditMenu() |
243 self.ParentWindow.RefreshEditMenu() |
245 self.ParentWindow.RefreshPageTitles() |
244 self.ParentWindow.RefreshPageTitles() |
246 |
245 |
615 attr.SetAlignment(self.ColAlignements[col], wx.ALIGN_CENTRE) |
613 attr.SetAlignment(self.ColAlignements[col], wx.ALIGN_CENTRE) |
616 self.VariablesGrid.SetColAttr(col, attr) |
614 self.VariablesGrid.SetColAttr(col, attr) |
617 self.VariablesGrid.SetColSize(col, self.ColSizes[col]) |
615 self.VariablesGrid.SetColSize(col, self.ColSizes[col]) |
618 self.Table.ResetView(self.VariablesGrid) |
616 self.Table.ResetView(self.VariablesGrid) |
619 |
617 |
620 def __del__(self): |
|
621 self.Controler.OnCloseEditor() |
|
622 |
|
623 def IsViewing(self, name): |
|
624 return name == "Variables" |
|
625 |
|
626 def RefreshModel(self): |
618 def RefreshModel(self): |
627 self.Controler.SetVariables(self.Table.GetData()) |
619 self.Controler.SetVariables(self.Table.GetData()) |
628 self.RefreshBuffer() |
620 self.RefreshBuffer() |
629 |
621 |
630 def ResetBuffer(self): |
|
631 pass |
|
632 |
|
633 # Buffer the last model state |
622 # Buffer the last model state |
634 def RefreshBuffer(self): |
623 def RefreshBuffer(self): |
635 self.Controler.BufferCFile() |
624 self.Controler.BufferCFile() |
636 self.ParentWindow.RefreshTitle() |
625 self.ParentWindow.RefreshTitle() |
637 self.ParentWindow.RefreshFileMenu() |
626 self.ParentWindow.RefreshFileMenu() |
851 ] = [wx.NewId() for _init_ctrls in range(4)] |
840 ] = [wx.NewId() for _init_ctrls in range(4)] |
852 |
841 |
853 class CFileEditor(EditorPanel): |
842 class CFileEditor(EditorPanel): |
854 |
843 |
855 def _init_Editor(self, prnt): |
844 def _init_Editor(self, prnt): |
856 self.Editor = wx.Panel(id=-1, parent=prnt, pos=wx.Point(0, 0), |
845 self.Editor = wx.Panel(id=ID_CFILEEDITOR, parent=prnt, pos=wx.Point(0, 0), |
857 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
846 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
858 |
847 |
859 self.Panels = {} |
848 self.Panels = {} |
860 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2 * len(CFILE_PARTS) + 1, vgap=0) |
849 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2 * len(CFILE_PARTS) + 1, vgap=0) |
861 self.MainSizer.AddGrowableCol(0) |
850 self.MainSizer.AddGrowableCol(0) |
890 EditorPanel.__init__(self, parent, "", window, controler) |
879 EditorPanel.__init__(self, parent, "", window, controler) |
891 |
880 |
892 img = wx.Bitmap(self.Controler.GetIconPath("Cfile.png"), wx.BITMAP_TYPE_PNG).ConvertToImage() |
881 img = wx.Bitmap(self.Controler.GetIconPath("Cfile.png"), wx.BITMAP_TYPE_PNG).ConvertToImage() |
893 self.SetIcon(wx.BitmapFromImage(img.Rescale(16, 16))) |
882 self.SetIcon(wx.BitmapFromImage(img.Rescale(16, 16))) |
894 |
883 |
|
884 def __del__(self): |
|
885 self.Controler.OnCloseEditor() |
|
886 |
895 def GetTitle(self): |
887 def GetTitle(self): |
896 fullname = self.Controler.PlugFullName() |
888 fullname = self.Controler.PlugFullName() |
897 if not self.Controler.CFileIsSaved(): |
889 if not self.Controler.CFileIsSaved(): |
898 return "~%s~" % fullname |
890 return "~%s~" % fullname |
899 return fullname |
891 return fullname |