Skip to content

Commit f9abcf5

Browse files
committed
Added new statistic window and other minor improvements
- Added a new statistic window with a simple pie chart (more to come). - Removed the custom file receiver in release mode (may confuse the user, because it is not finished yet) - Removed unused code.
1 parent b32b1f7 commit f9abcf5

24 files changed

+1631
-275
lines changed

src/Logbert/App.config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,9 @@
345345
<setting name="ColorMapAnnotation" serializeAs="String">
346346
<value>48</value>
347347
</setting>
348+
<setting name="FrmLogStatisticShowLegend" serializeAs="String">
349+
<value>True</value>
350+
</setting>
348351
</Com.Couchcoding.Logbert.Properties.Settings>
349352
</userSettings>
350353
<applicationSettings>

src/Logbert/Controls/ColorMap.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
using Com.Couchcoding.Logbert.Interfaces;
3838
using Com.Couchcoding.Logbert.Logging;
3939
using Com.Couchcoding.Logbert.Properties;
40+
using WeifenLuo.WinFormsUI.Docking;
4041

4142
namespace Com.Couchcoding.Logbert.Controls
4243
{

src/Logbert/Controls/OptionPanels/OptionPanelGeneral.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
using System.Windows.Forms;
3333

3434
using Com.Couchcoding.Logbert.Helper;
35+
using Com.Couchcoding.Logbert.Interfaces;
3536
using Com.Couchcoding.Logbert.Logging;
3637
using Com.Couchcoding.Logbert.Properties;
3738

src/Logbert/Dialogs/Docking/FrmLogBookmarks.cs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,7 @@ public partial class FrmLogBookmarks : DockContent, ILogPresenter, IBookmarkObse
7777
/// <summary>
7878
/// Gets the count of currently displayed <see cref=LogMessage"/>s.
7979
/// </summary>
80-
public int DisplayedLogMessagesCount
81-
{
82-
get
83-
{
84-
return 0;
85-
}
86-
}
80+
public int DisplayedLogMessagesCount => 0;
8781

8882
#endregion
8983

@@ -389,11 +383,8 @@ public FrmLogBookmarks(IBookmarkProvider bookmarkProvider)
389383
{
390384
mBookmarkProvider = bookmarkProvider;
391385

392-
if (mBookmarkProvider != null)
393-
{
394-
// Register this instance as observer.
395-
mBookmarkProvider.RegisterBookmarkObserver(this);
396-
}
386+
// Register this instance as observer.
387+
mBookmarkProvider?.RegisterBookmarkObserver(this);
397388

398389
InitializeComponent();
399390

src/Logbert/Dialogs/Docking/FrmLogDocument.Designer.cs

Lines changed: 14 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Logbert/Dialogs/Docking/FrmLogDocument.cs

Lines changed: 56 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,11 @@ public partial class FrmLogDocument : DockContent, ILogHandler, ILogContainer, I
7373
/// </summary>
7474
private readonly DockContent mBookmarks;
7575

76+
/// <summary>
77+
/// The <see cref="DockContent"/> that shows statistic data.
78+
/// </summary>
79+
private readonly DockContent mLogStatistic;
80+
7681
/// <summary>
7782
/// The <see cref="DockContent"/> that shows filter settings.
7883
/// </summary>
@@ -157,6 +162,11 @@ public IList<LogFilter> Filter
157162
{
158163
LogLevel currentLevel = LogLevel.None;
159164

165+
if (tsbShowTrace.Checked)
166+
{
167+
currentLevel |= LogLevel.Trace;
168+
}
169+
160170
if (tsbShowDebug.Checked)
161171
{
162172
currentLevel |= LogLevel.Debug;
@@ -224,46 +234,15 @@ public int TimeShiftValue
224234
/// </summary>
225235
private void InitializeDefaultLayout()
226236
{
227-
mLogWindow.Show(
228-
LogDockPanel
229-
, DockState.Document);
230-
231-
mLogScript.Show(
232-
LogDockPanel
233-
, DockState.Document);
234-
235-
if (mMessageDetails != null)
236-
{
237-
mMessageDetails.Show(
238-
LogDockPanel
239-
, DockState.DockBottom);
240-
}
241-
242-
if (mBookmarks != null)
243-
{
244-
mBookmarks.Show(
245-
LogDockPanel
246-
, DockState.DockBottom);
247-
}
248-
249-
if (mFilter != null)
250-
{
251-
mFilter.Show(
252-
LogDockPanel
253-
, DockState.DockBottom);
254-
}
255-
256-
if (mMessageDetails != null)
257-
{
258-
mMessageDetails.Activate();
259-
}
260-
261-
if (mLoggerTree != null)
262-
{
263-
mLoggerTree.Show(
264-
LogDockPanel
265-
, DockState.DockRight);
266-
}
237+
mLogWindow?.Show(LogDockPanel, DockState.Document);
238+
mLogScript?.Show(LogDockPanel, DockState.Document);
239+
mMessageDetails?.Show(LogDockPanel, DockState.DockBottom);
240+
mBookmarks?.Show(LogDockPanel, DockState.DockBottom);
241+
mFilter?.Show(LogDockPanel, DockState.DockBottom);
242+
mLogStatistic?.Show(LogDockPanel, DockState.DockBottom);
243+
mLoggerTree?.Show(LogDockPanel, DockState.DockRight);
244+
245+
mMessageDetails?.Activate();
267246
}
268247

269248
/// <summary>
@@ -305,6 +284,7 @@ protected override void OnLoad(EventArgs e)
305284
tsbShowLoggerTree.Checked = mLoggerTree != null && !mLoggerTree.IsHidden;
306285
tsbShowBookmarks.Checked = mBookmarks != null && !mBookmarks.IsHidden;
307286
tsbShowFilter.Checked = mFilter != null && !mFilter.IsHidden;
287+
tsbShowStatistic.Checked = mLogStatistic != null && !mLogStatistic.IsHidden;
308288

309289
if (mLogProvider != null)
310290
{
@@ -369,6 +349,9 @@ private IDockContent GetContentFromPersistString(string persistString)
369349

370350
case "Com.Couchcoding.Logbert.Dialogs.Docking.FrmLogTree":
371351
return mLoggerTree;
352+
353+
case "Com.Couchcoding.Logbert.Dialogs.Docking.FrmLogStatistic":
354+
return mLogStatistic;
372355
}
373356

374357
Logger.Warn(
@@ -405,9 +388,10 @@ private void LogMessagesChanged(int delta)
405388
}
406389

407390
// Update the log presenter windows.
408-
((ILogPresenter)mLogWindow).LogMessagesChanged(logMessageCopy, delta);
409-
((ILogPresenter)mLoggerTree).LogMessagesChanged(logMessageCopy, delta);
410-
((ILogPresenter)mLogScript).LogMessagesChanged(logMessageCopy, delta);
391+
((ILogPresenter)mLogWindow).LogMessagesChanged(logMessageCopy, delta);
392+
((ILogPresenter)mLoggerTree).LogMessagesChanged(logMessageCopy, delta);
393+
((ILogPresenter)mLogScript).LogMessagesChanged(logMessageCopy, delta);
394+
((ILogPresenter)mLogStatistic).LogMessagesChanged(logMessageCopy, delta);
411395
}
412396

413397
if (tsbTraceLastMessage.Checked && mLogMessages.Count > 0)
@@ -479,6 +463,7 @@ public void ClearAll()
479463
((ILogPresenter)mBookmarks).ClearAll();
480464
((ILogPresenter)mFilter).ClearAll();
481465
((ILogPresenter)mLogScript).ClearAll();
466+
((ILogPresenter)mLogStatistic).ClearAll();
482467

483468
// Force an update of the UI.
484469
TmrUpdateTick(this, EventArgs.Empty);
@@ -628,7 +613,7 @@ private void TsbShowBookmarksClick(object sender, EventArgs e)
628613
}
629614

630615
/// <summary>
631-
/// Handles the Click event of the show gilter <see cref="ToolStripButton"/>.
616+
/// Handles the Click event of the show filter <see cref="ToolStripButton"/>.
632617
/// <para>
633618
/// Shows or hides the filter window.
634619
/// </para>
@@ -648,6 +633,27 @@ private void TsbShowFilterClick(object sender, EventArgs e)
648633
}
649634
}
650635

636+
/// <summary>
637+
/// Handles the Click event of the show statistic <see cref="ToolStripButton"/>.
638+
/// <para>
639+
/// Shows or hides the statistic window.
640+
/// </para>
641+
/// </summary>
642+
private void TsbShowStatisticClick(object sender, EventArgs e)
643+
{
644+
if (mLogStatistic != null)
645+
{
646+
if (tsbShowStatistic.Checked)
647+
{
648+
mLogStatistic.Show(LogDockPanel);
649+
}
650+
else
651+
{
652+
mLogStatistic.Hide();
653+
}
654+
}
655+
}
656+
651657
/// <summary>
652658
/// Handles the Click event of the start, stop <see cref="ToolStripButton"/>.
653659
/// <para>
@@ -1162,6 +1168,12 @@ public FrmLogDocument(ILogProvider logProvider)
11621168

11631169
mLogScript = new FrmLogScript((IBookmarkProvider)mLogWindow, this);
11641170
mBookmarks = new FrmLogBookmarks((IBookmarkProvider)mLogWindow);
1171+
mLogStatistic = new FrmLogStatistic(mLogProvider);
1172+
1173+
mLogStatistic.VisibleChanged += (sender, e) =>
1174+
{
1175+
tsbShowStatistic.Checked = !mLogStatistic.IsHidden;
1176+
};
11651177

11661178
mBookmarks.VisibleChanged += (sender, e) =>
11671179
{

src/Logbert/Dialogs/Docking/FrmLogStatistic.Designer.cs

Lines changed: 123 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)