XMLCodeCompletion::XMLCodeCompletion() : m_completeReason(kNone) { PrepareHtmlCompletions(); EventNotifier::Get()->Bind(wxEVT_CCBOX_SELECTION_MADE, &XMLCodeCompletion::OnCodeCompleted, this); WebToolsConfig conf; m_htmlCcEnabeld = conf.Load().HasHtmlFlag(WebToolsConfig::kHtmlEnableCC); m_xmlCcEnabled = conf.Load().HasXmlFlag(WebToolsConfig::kXmlEnableCC); }
bool clTernServer::LocateNodeJS(wxFileName& nodeJS) { WebToolsConfig config; config.Load(); // If we got it in the settings, use it if(wxFileName::FileExists(config.GetNodejs())) { nodeJS = config.GetNodejs(); config.Save(); return true; } // Auto detect NodeJSLocator locator; locator.Locate(); if(!locator.GetNodejs().IsEmpty()) { nodeJS = locator.GetNodejs(); return true; } return false; }
bool clTernServer::Start(const wxString& workingDirectory) { if(m_fatalError) return false; if(!m_jsCCManager->IsEnabled()) return true; m_workingDirectory = workingDirectory; WebToolsConfig conf; conf.Load(); wxFileName ternFolder(clStandardPaths::Get().GetUserDataDir(), ""); ternFolder.AppendDir("webtools"); ternFolder.AppendDir("js"); wxFileName nodeJS; if(!LocateNodeJS(nodeJS)) { m_fatalError = true; return false; } #ifdef __WXMAC__ // set permissions to 755 nodeJS.SetPermissions(wxPOSIX_GROUP_READ | wxPOSIX_GROUP_EXECUTE | wxPOSIX_OTHERS_READ | wxPOSIX_OTHERS_EXECUTE | wxPOSIX_USER_READ | wxPOSIX_USER_WRITE | wxPOSIX_USER_EXECUTE); #endif wxString nodeExe = nodeJS.GetFullPath(); ::WrapWithQuotes(nodeExe); wxFileName ternScript = ternFolder; ternScript.AppendDir("bin"); ternScript.SetFullName("tern"); wxString ternScriptString = ternScript.GetFullPath(); ::WrapWithQuotes(ternScriptString); wxString command; command << nodeExe << " " << ternScriptString << " --persistent "; if(conf.HasJavaScriptFlag(WebToolsConfig::kJSEnableVerboseLogging)) { command << " --verbose"; } // Create a .tern-project file if(m_workingDirectory.IsEmpty()) { m_workingDirectory = clStandardPaths::Get().GetUserDataDir(); } wxFileName ternConfig(m_workingDirectory, ".tern-project"); wxString content = conf.GetTernProjectFile(); if(!FileUtils::WriteFileContent(ternConfig, content)) { ::wxMessageBox(_("Could not write tern project file: ") + ternConfig.GetFullPath(), "CodeLite", wxICON_ERROR | wxOK | wxCENTER); PrintMessage("Could not write tern project file: " + ternConfig.GetFullPath()); m_fatalError = true; return false; } PrintMessage(wxString() << "Starting " << command << "\n"); m_tern = ::CreateAsyncProcess(this, command, IProcessCreateDefault, m_workingDirectory); if(!m_tern) { PrintMessage("Failed to start Tern server!"); return false; } return true; }
WebToolsSettings::WebToolsSettings(wxWindow* parent) : WebToolsSettingsBase(parent) , m_modified(false) { ::wxPGPropertyBooleanUseCheckbox(m_pgMgr->GetGrid()); { WebToolsConfig config; config.Load(); m_pgPropEnableJSCC->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSEnableCC)); m_pgPropLogging->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSEnableVerboseLogging)); m_pgPropBrowser->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryBrowser)); m_pgPropChai->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryChai)); m_pgPropEcma5->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryEcma5)); m_pgPropEcma6->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryEcma6)); m_pgPropJQuery->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryJQuery)); m_pgPropUnderscore->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSLibraryUnderscore)); m_pgPropAngular->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSPluginAngular)); m_pgPropNode->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSPluginNode)); m_pgPropStrings->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSPluginStrings)); m_pgPropQML->SetValue(config.HasJavaScriptFlag(WebToolsConfig::kJSPluginQML)); } CenterOnParent(); SetName("WebToolsSettings"); WindowAttrManager::Load(this); }
void WebToolsSettings::OnOK(wxCommandEvent& event) { event.Skip(); // Save the settings { WebToolsConfig config; config.Load(); config.EnableJavaScriptFlag(WebToolsConfig::kJSEnableCC, m_pgPropEnableJSCC->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSEnableVerboseLogging, m_pgPropLogging->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryBrowser, m_pgPropBrowser->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryChai, m_pgPropChai->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryEcma5, m_pgPropEcma5->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryEcma6, m_pgPropEcma6->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryJQuery, m_pgPropJQuery->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSLibraryUnderscore, m_pgPropUnderscore->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSPluginAngular, m_pgPropAngular->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSPluginNode, m_pgPropNode->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSPluginStrings, m_pgPropStrings->GetValue().GetBool()); config.EnableJavaScriptFlag(WebToolsConfig::kJSPluginQML, m_pgPropQML->GetValue().GetBool()); config.Save(); } }
void XMLCodeCompletion::Reload() { WebToolsConfig conf; m_htmlCcEnabeld = conf.Load().HasHtmlFlag(WebToolsConfig::kHtmlEnableCC); m_xmlCcEnabled = conf.Load().HasXmlFlag(WebToolsConfig::kXmlEnableCC); }