Browse Source

More debug output when focus tracking is enabled.

pull/12/head
Daniel Grunwald 15 years ago
parent
commit
a9dc47b030
  1. 12
      src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs
  2. 10
      src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

12
src/Main/Base/Project/Src/Gui/Workbench/Layouts/AvalonDockLayout.cs

@ -42,7 +42,8 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -42,7 +42,8 @@ namespace ICSharpCode.SharpDevelop.Gui
#if DEBUG
internal void WriteState(TextWriter output)
{
output.WriteLine("AvalonDock: ActiveContent = " + WpfWorkbench.GetElementName(dockingManager.ActiveContent));
output.WriteLine("AvalonDock: ActiveDocument = " + WpfWorkbench.GetElementName(dockingManager.ActiveDocument));
}
#endif
@ -57,10 +58,19 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -57,10 +58,19 @@ namespace ICSharpCode.SharpDevelop.Gui
void dockingManager_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "ActiveContent") {
#if DEBUG
if (WpfWorkbench.enableFocusDebugOutput)
LoggingService.Debug("AvalonDock: ActiveContent changed to " + WpfWorkbench.GetElementName(dockingManager.ActiveContent));
#endif
if (ActiveContentChanged != null)
ActiveContentChanged(this, e);
CommandManager.InvalidateRequerySuggested();
} else if (e.PropertyName == "ActiveDocument") {
#if DEBUG
if (WpfWorkbench.enableFocusDebugOutput)
LoggingService.Debug("AvalonDock: ActiveDocument changed to " + WpfWorkbench.GetElementName(dockingManager.ActiveDocument));
#endif
if (ActiveWorkbenchWindowChanged != null)
ActiveWorkbenchWindowChanged(this, e);
CommandManager.InvalidateRequerySuggested();

10
src/Main/Base/Project/Src/Gui/Workbench/WpfWorkbench.cs

@ -653,11 +653,11 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -653,11 +653,11 @@ namespace ICSharpCode.SharpDevelop.Gui
}
#if DEBUG
bool toggle;
internal static bool enableFocusDebugOutput;
void WpfWorkbench_PreviewGotKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
if (toggle) {
if (enableFocusDebugOutput) {
LoggingService.Debug("GotKeyboardFocus: oldFocus=" + e.OldFocus + ", newFocus=" + e.NewFocus);
if (e.NewFocus is IWorkbenchWindow)
{
@ -667,7 +667,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -667,7 +667,7 @@ namespace ICSharpCode.SharpDevelop.Gui
void WpfWorkbench_PreviewLostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
if (toggle) {
if (enableFocusDebugOutput) {
LoggingService.Debug("LostKeyboardFocus: oldFocus=" + e.OldFocus + ", newFocus=" + e.NewFocus);
if (e.NewFocus is IWorkbenchWindow)
{
@ -679,7 +679,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -679,7 +679,7 @@ namespace ICSharpCode.SharpDevelop.Gui
{
base.OnPreviewKeyDown(e);
if (!e.Handled && e.Key == Key.D && e.KeyboardDevice.Modifiers == (ModifierKeys.Control | ModifierKeys.Shift | ModifierKeys.Alt)) {
toggle = !toggle;
enableFocusDebugOutput = !enableFocusDebugOutput;
StringWriter output = new StringWriter();
output.WriteLine("Keyboard.FocusedElement = " + GetElementName(Keyboard.FocusedElement));
@ -717,7 +717,7 @@ namespace ICSharpCode.SharpDevelop.Gui @@ -717,7 +717,7 @@ namespace ICSharpCode.SharpDevelop.Gui
}
}
static string GetElementName(object element)
internal static string GetElementName(object element)
{
if (element == null)
return "<null>";

Loading…
Cancel
Save