Browse Source

fixed bugs in UI

updated TODO.txt

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3920 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Siegfried Pammer 17 years ago
parent
commit
c5c518a689
  1. 10
      src/AddIns/Misc/Profiler/Controller/Queries/QueryCompiler.cs
  2. 15
      src/AddIns/Misc/Profiler/Frontend/AddIn/Src/Views/ProfilerView.xaml.cs
  3. 3
      src/AddIns/Misc/Profiler/Frontend/Gui/Window1.xaml.cs
  4. 4
      src/AddIns/Misc/Profiler/TODO.txt

10
src/AddIns/Misc/Profiler/Controller/Queries/QueryCompiler.cs

@ -20,7 +20,7 @@ namespace ICSharpCode.Profiler.Controller.Queries @@ -20,7 +20,7 @@ namespace ICSharpCode.Profiler.Controller.Queries
/// <summary>
/// Used to report an error during compilation to a higher level.
/// </summary>
public delegate void ErrorReporter(CompilerError error);
public delegate void ErrorReporter(IEnumerable<CompilerError> error);
/// <summary>
/// Analyzes, compiles and executes Profiler-specific LINQ queries.
@ -79,14 +79,14 @@ namespace ICSharpCode.Profiler.Controller.Queries @@ -79,14 +79,14 @@ namespace ICSharpCode.Profiler.Controller.Queries
if (!queryCache.ContainsKey(this.currentQuery)) {
string code = text + PreprocessString(currentQuery) + textEnd;
CompilerResults results = csc.CompileAssemblyFromSource(GetParameters(), code);
report(results.Errors.Cast<CompilerError>());
if (results.Errors.Count > 0) {
foreach (CompilerError error in results.Errors)
report(error);
if (results.Errors.Count > 0)
return false;
}
queryCache.Add(this.currentQuery, results.CompiledAssembly);
} else {
report(new List<CompilerError>().AsEnumerable()); // clear errors list
}
return true;

15
src/AddIns/Misc/Profiler/Frontend/AddIn/Src/Views/ProfilerView.xaml.cs

@ -1,13 +1,10 @@ @@ -1,13 +1,10 @@
using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Shapes;
using System.Windows.Threading;
using ICSharpCode.Core.Presentation;
@ -16,6 +13,7 @@ using ICSharpCode.Profiler.Controller.Data; @@ -16,6 +13,7 @@ using ICSharpCode.Profiler.Controller.Data;
using ICSharpCode.Profiler.Controller.Queries;
using ICSharpCode.Profiler.Controls;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Gui;
namespace ICSharpCode.Profiler.AddIn.Views
{
@ -92,9 +90,14 @@ namespace ICSharpCode.Profiler.AddIn.Views @@ -92,9 +90,14 @@ namespace ICSharpCode.Profiler.AddIn.Views
tabView.Items.Remove(((Button)sender).Tag);
}
void UpdateErrorList(System.CodeDom.Compiler.CompilerError error)
void UpdateErrorList(IEnumerable<CompilerError> errors)
{
Dispatcher.Invoke((Action)(() => TaskService.Add(new Task("", error.ErrorText, error.Column, error.Line, (error.IsWarning) ? TaskType.Warning : TaskType.Error))));
Dispatcher.Invoke(
() => {
WorkbenchSingleton.Workbench.GetPad(typeof(ErrorListPad)).BringPadToFront();
TaskService.ClearExceptCommentTasks();
TaskService.AddRange(errors.Select(error => new Task("", error.ErrorText, error.Column, error.Line, (error.IsWarning) ? TaskType.Warning : TaskType.Error)));
});
}
void tabView_SelectionChanged(object sender, SelectionChangedEventArgs e)

3
src/AddIns/Misc/Profiler/Frontend/Gui/Window1.xaml.cs

@ -166,10 +166,11 @@ namespace ICSharpCode.Profiler.Frontend @@ -166,10 +166,11 @@ namespace ICSharpCode.Profiler.Frontend
e.Handled = true;
}
void HandleError(CompilerError error)
void HandleError(IEnumerable<CompilerError> errors)
{
this.Dispatcher.Invoke(
(Action)(delegate() {
foreach (CompilerError error in errors)
txtOutput.AppendText(error.ToString() + Environment.NewLine);
}));
}

4
src/AddIns/Misc/Profiler/TODO.txt

@ -10,10 +10,6 @@ NEW FEATURES @@ -10,10 +10,6 @@ NEW FEATURES
- Implement a memory profiler
API CLEANUP
(while creating SQLite database from TempFileDatabase)
[18:49:37] Daniel Grunwald says: ich habe gerade profiled, bin fertig, und jetzt passiert nichts sichtbares mehr...
[18:50:10] Daniel Grunwald says: da fehlt ein Fortschrittsbalken, oder wenigstens eine Zeile im Output
[19:51:51] Daniel Grunwald says: wenn ich einen Syntaxfehler in der Query habe, wird keine Fehlermeldung angezeigt
[00:34:02] Daniel Grunwald says: wir verfälschen sowieso
[00:34:27] Daniel Grunwald says: Funktionsaufrufe im Vergleich zu Schleifen -> mit Profiler werden Funktionsaufrufe stark benachteiligt
[00:34:54] Daniel Grunwald says: man könnte versuchen, den eigenen Overhead zu bestimmen und rauszurechnen
Loading…
Cancel
Save