void clCxxWorkspace::SetWorkspaceEditorOptions(LocalOptionsConfigPtr opts) { wxXmlNode* parent = m_doc.GetRoot(); wxXmlNode* oldOptions = XmlUtils::FindFirstByTagName(parent, wxT("Options")); if(oldOptions) { oldOptions->GetParent()->RemoveChild(oldOptions); delete oldOptions; } parent->AddChild(opts->ToXml()); SaveXmlFile(); }
bool LocalWorkspace::SetWorkspaceOptions(LocalOptionsConfigPtr opts) { // Stored as: // <Workspace> // <LocalWorkspaceOptions something="on" something_else="off"/> // </Workspace> if(!SanityCheck()) { return false; } wxXmlNode* oldOptions = GetLocalWorkspaceOptionsNode(); if(oldOptions) { m_doc.GetRoot()->RemoveChild(oldOptions); delete oldOptions; } m_doc.GetRoot()->AddChild(opts->ToXml(NULL, wxT("LocalWorkspaceOptions"))); return SaveXmlFile(); }
bool LocalWorkspace::SetProjectOptions(LocalOptionsConfigPtr opts, const wxString& projectname) { // Stored as: // <Project Name="foo"> // <Options something="on" something_else="off"/> // </Project> if(!SanityCheck()) { return false; } // If the project node doesn't exist, create it wxXmlNode* project = XmlUtils::FindNodeByName(m_doc.GetRoot(), wxT("Project"), projectname); if(!project) { project = new wxXmlNode(m_doc.GetRoot(), wxXML_ELEMENT_NODE, wxT("Project")); project->AddProperty(wxT("Name"), projectname); } wxXmlNode* oldOptions = XmlUtils::FindFirstByTagName(project, wxT("Options")); if(oldOptions) { project->RemoveChild(oldOptions); delete oldOptions; } project->AddChild(opts->ToXml(NULL, wxT("Options"))); return SaveXmlFile(); }