private void StartThread <T>(HaxeCompleteResultHandler <T> callback, Func <T> resultFunc) { SaveFile(); ThreadPool.QueueUserWorkItem(_ => { Status = ParseLines(handler.GetCompletion(BuildHxmlArgs(), GetFileContent())); Notify(callback, resultFunc()); }); }
private void StartThread <T>(HaxeCompleteResultHandler <T> callback, Func <T> resultFunc) { PluginBase.MainForm.CallCommand("Save", null); ThreadPool.QueueUserWorkItem(_ => { Status = ParseLines(handler.GetCompletion(BuildHxmlArgs())); Notify(callback, resultFunc()); }); }
public void GetPosition(HaxeCompleteResultHandler <HaxePositionCompleteResult> callback) { PluginBase.MainForm.CallCommand("Save", null); ThreadPool.QueueUserWorkItem(_ => { Status = ParseLines(handler.GetCompletion(BuildHxmlArgs())); Notify(callback, positionResult); }); }
void Notify <T>(HaxeCompleteResultHandler <T> callback, T result) { if (Sci.InvokeRequired) { Sci.BeginInvoke((MethodInvoker) delegate { Notify(callback, result); }); return; } callback(this, result, Status); }
public void GetDiagnostics(HaxeCompleteResultHandler <List <HaxeDiagnosticsResult> > callback) { StartThread(callback, () => diagnosticsResults); }
public void GetUsages(HaxeCompleteResultHandler <List <HaxePositionResult> > callback) { StartThread(callback, () => positionResults); }
public void GetPosition(HaxeCompleteResultHandler <HaxePositionResult> callback) { StartThread(callback, () => positionResults != null && positionResults.Count > 0 ? positionResults[0] : null); }
/* EXECUTION */ public void GetList(HaxeCompleteResultHandler <HaxeCompleteResult> callback) { StartThread(callback, () => result); }