774 |
775 |
775 [ID_CFILEEDITOR, ID_CFILEEDITORMAINSPLITTER, |
776 [ID_CFILEEDITOR, ID_CFILEEDITORMAINSPLITTER, |
776 ID_CFILEEDITORCFILETREE, ID_CFILEEDITORPARTSOPENED, |
777 ID_CFILEEDITORCFILETREE, ID_CFILEEDITORPARTSOPENED, |
777 ] = [wx.NewId() for _init_ctrls in range(4)] |
778 ] = [wx.NewId() for _init_ctrls in range(4)] |
778 |
779 |
779 class CFileEditor(EditorPanel): |
780 class CFileEditor(ConfTreeNodeEditor): |
780 |
781 |
781 def _init_Editor(self, prnt): |
782 def _init_ConfNodeEditor(self, prnt): |
782 self.Editor = wx.Panel(id=ID_CFILEEDITOR, parent=prnt, pos=wx.Point(0, 0), |
783 self.ConfNodeEditor = wx.Panel(id=ID_CFILEEDITOR, parent=prnt, pos=wx.Point(0, 0), |
783 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
784 size=wx.Size(0, 0), style=wx.TAB_TRAVERSAL) |
784 |
785 |
785 self.Panels = {} |
786 self.Panels = {} |
786 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2 * len(CFILE_PARTS) + 1, vgap=0) |
787 self.MainSizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2 * len(CFILE_PARTS) + 1, vgap=0) |
787 self.MainSizer.AddGrowableCol(0) |
788 self.MainSizer.AddGrowableCol(0) |
788 |
789 |
789 for idx, (name, panel_class) in enumerate(CFILE_PARTS): |
790 for idx, (name, panel_class) in enumerate(CFILE_PARTS): |
790 button_id = wx.NewId() |
791 button_id = wx.NewId() |
791 button = FoldPanelCaption(id=button_id, name='FoldPanelCaption_%s' % name, |
792 button = FoldPanelCaption(id=button_id, name='FoldPanelCaption_%s' % name, |
792 label=name, bitmap=wx.Bitmap(opjimg("CollapsedIconData")), |
793 label=name, bitmap=wx.Bitmap(opjimg("CollapsedIconData")), |
793 parent=self.Editor, pos=wx.Point(0, 0), |
794 parent=self.ConfNodeEditor, pos=wx.Point(0, 0), |
794 size=wx.Size(0, 20), style=wx.NO_BORDER|wx.ALIGN_LEFT) |
795 size=wx.Size(0, 20), style=wx.NO_BORDER|wx.ALIGN_LEFT) |
795 button.SetBitmapSelected(wx.Bitmap(opjimg("ExpandedIconData"))) |
796 button.SetBitmapSelected(wx.Bitmap(opjimg("ExpandedIconData"))) |
796 button.Bind(wx.EVT_BUTTON, self.GenPanelButtonCallback(name), id=button_id) |
797 button.Bind(wx.EVT_BUTTON, self.GenPanelButtonCallback(name), id=button_id) |
797 self.MainSizer.AddWindow(button, 0, border=0, flag=wx.TOP|wx.GROW) |
798 self.MainSizer.AddWindow(button, 0, border=0, flag=wx.TOP|wx.GROW) |
798 |
799 |
799 if panel_class == VariablesEditor: |
800 if panel_class == VariablesEditor: |
800 panel = VariablesEditor(self.Editor, self.ParentWindow, self.Controler) |
801 panel = VariablesEditor(self.ConfNodeEditor, self.ParentWindow, self.Controler) |
801 else: |
802 else: |
802 panel = panel_class(self.Editor, name, self.ParentWindow, self.Controler) |
803 panel = panel_class(self.ConfNodeEditor, name, self.ParentWindow, self.Controler) |
803 self.MainSizer.AddWindow(panel, 0, border=0, flag=wx.BOTTOM|wx.GROW) |
804 self.MainSizer.AddWindow(panel, 0, border=0, flag=wx.BOTTOM|wx.GROW) |
804 panel.Hide() |
805 panel.Hide() |
805 |
806 |
806 self.Panels[name] = {"button": button, "panel": panel, "expanded": False, "row": 2 * idx + 1} |
807 self.Panels[name] = {"button": button, "panel": panel, "expanded": False, "row": 2 * idx + 1} |
807 |
808 |
808 self.Spacer = wx.Panel(self.Editor, -1) |
809 self.Spacer = wx.Panel(self.ConfNodeEditor, -1) |
809 self.SpacerExpanded = True |
810 self.SpacerExpanded = True |
810 self.MainSizer.AddWindow(self.Spacer, 0, border=0, flag=wx.GROW) |
811 self.MainSizer.AddWindow(self.Spacer, 0, border=0, flag=wx.GROW) |
811 |
812 |
812 self.MainSizer.AddGrowableRow(2 * len(CFILE_PARTS)) |
813 self.MainSizer.AddGrowableRow(2 * len(CFILE_PARTS)) |
813 |
814 |
814 self.Editor.SetSizer(self.MainSizer) |
815 self.ConfNodeEditor.SetSizer(self.MainSizer) |
815 |
816 |
816 def __init__(self, parent, controler, window): |
817 def __init__(self, parent, controler, window): |
817 EditorPanel.__init__(self, parent, "", window, controler) |
818 ConfTreeNodeEditor.__init__(self, parent, "", controler, window) |
818 self.SetIcon(wx.Bitmap(opjimg("Cfile"))) |
|
819 |
|
820 def __del__(self): |
|
821 self.Controler.OnCloseEditor(self) |
|
822 |
|
823 def GetTitle(self): |
|
824 fullname = self.Controler.CTNFullName() |
|
825 if not self.Controler.CFileIsSaved(): |
|
826 return "~%s~" % fullname |
|
827 return fullname |
|
828 |
819 |
829 def GetBufferState(self): |
820 def GetBufferState(self): |
830 return self.Controler.GetBufferState() |
821 return self.Controler.GetBufferState() |
831 |
822 |
832 def Undo(self): |
823 def Undo(self): |