diff -r 6e205c1f05a0 -r eee7625de1f7 editors/ProjectNodeEditor.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/editors/ProjectNodeEditor.py Thu Mar 07 11:47:43 2013 +0900 @@ -0,0 +1,73 @@ + +import wx + +from controls import ProjectPropertiesPanel, VariablePanel +from EditorPanel import EditorPanel +from ConfTreeNodeEditor import ConfTreeNodeEditor + +class ProjectNodeEditor(ConfTreeNodeEditor): + + SHOW_BASE_PARAMS = False + ENABLE_REQUIRED = True + CONFNODEEDITOR_TABS = [ + (_("Config variables"), "_create_VariablePanel"), + (_("Project properties"), "_create_ProjectPropertiesPanel")] + + def _create_VariablePanel(self, prnt): + self.VariableEditorPanel = VariablePanel(prnt, self, self.Controler, "config", self.Debug) + self.VariableEditorPanel.SetTagName(self.TagName) + + return self.VariableEditorPanel + + def _create_ProjectPropertiesPanel(self, prnt): + self.ProjectProperties = ProjectPropertiesPanel(prnt, self.Controler, self.ParentWindow, self.ENABLE_REQUIRED) + + return self.ProjectProperties + + def __init__(self, parent, controler, window): + configuration = controler.GetProjectMainConfigurationName() + if configuration is not None: + tagname = controler.ComputeConfigurationName(configuration) + else: + tagname = "" + + ConfTreeNodeEditor.__init__(self, parent, controler, window, tagname) + + buttons_sizer = self.GenerateMethodButtonSizer() + self.ParamsEditorSizer.InsertSizer(0, buttons_sizer, 0, border=5, + flag=wx.LEFT|wx.RIGHT|wx.TOP) + self.ParamsEditorSizer.Layout() + + self.VariableEditor = self.VariableEditorPanel + + def GetTagName(self): + return self.Controler.CTNName() + + def SetTagName(self, tagname): + self.TagName = tagname + if self.VariableEditor is not None: + self.VariableEditor.SetTagName(tagname) + + def GetTitle(self): + fullname = _(self.Controler.CTNName()) + if self.Controler.CTNTestModified(): + return "~%s~" % fullname + return fullname + + def RefreshView(self, variablepanel=True): + ConfTreeNodeEditor.RefreshView(self) + if variablepanel: + self.VariableEditor.RefreshView() + #self.ProjectProperties.RefreshView() + + def GetBufferState(self): + return self.Controler.GetBufferState() + + def Undo(self): + self.Controler.LoadPrevious() + self.ParentWindow.CloseTabsWithoutModel() + + def Redo(self): + self.Controler.LoadNext() + self.ParentWindow.CloseTabsWithoutModel() + \ No newline at end of file