Added: details view and Clear button to Observer.MonitorForm
This commit is contained in:
parent
041dfc71d6
commit
b96c2a9d72
BIN
Resources/Clear.bmp
Normal file
BIN
Resources/Clear.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
BIN
Resources/Save.bmp
Normal file
BIN
Resources/Save.bmp
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
@ -77,6 +77,9 @@ begin
|
||||
SetLogResourceString(@LogMonitorFormColumnTime, 'Tijd');
|
||||
SetLogResourceString(@LogMonitorFormColumnMessage, 'Melding');
|
||||
|
||||
SetLogResourceString(@LogMonitorFormButtonClear, 'Wissen');
|
||||
SetLogResourceString(@LogMonitorFormButtonSaveDetails, 'Opslaan');
|
||||
|
||||
FLog := TX2Log.Create;
|
||||
FLog.SetExceptionStrategy(TX2LogmadExceptExceptionStrategy.Create);
|
||||
|
||||
|
@ -38,6 +38,10 @@ resourcestring
|
||||
LogMonitorFormColumnTime = 'Time';
|
||||
LogMonitorFormColumnMessage = 'Message';
|
||||
|
||||
{ Caption of the toolbar buttons }
|
||||
LogMonitorFormButtonClear = 'Clear';
|
||||
LogMonitorFormButtonSaveDetails = 'Save';
|
||||
|
||||
|
||||
|
||||
function GetLogLevelText(ALogLevel: TX2LogLevel): string;
|
||||
|
@ -3,7 +3,7 @@ object X2LogObserverMonitorForm: TX2LogObserverMonitorForm
|
||||
Top = 0
|
||||
Caption = 'Live Log'
|
||||
ClientHeight = 519
|
||||
ClientWidth = 658
|
||||
ClientWidth = 990
|
||||
Color = clBtnFace
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
@ -11,53 +11,192 @@ object X2LogObserverMonitorForm: TX2LogObserverMonitorForm
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
OldCreateOrder = False
|
||||
Position = poScreenCenter
|
||||
OnClose = FormClose
|
||||
OnShow = FormShow
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object vstLog: TVirtualStringTree
|
||||
object splDetails: TSplitter
|
||||
Left = 634
|
||||
Top = 0
|
||||
Width = 6
|
||||
Height = 500
|
||||
Align = alRight
|
||||
ResizeStyle = rsUpdate
|
||||
ExplicitLeft = 637
|
||||
ExplicitHeight = 519
|
||||
end
|
||||
object pnlDetails: TPanel
|
||||
Left = 640
|
||||
Top = 0
|
||||
Width = 350
|
||||
Height = 500
|
||||
Align = alRight
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 0
|
||||
ExplicitHeight = 519
|
||||
object tbDetails: TToolBar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 350
|
||||
Height = 22
|
||||
AutoSize = True
|
||||
ButtonWidth = 51
|
||||
Images = ilsLog
|
||||
List = True
|
||||
ShowCaptions = True
|
||||
TabOrder = 0
|
||||
object tbSaveDetails: TToolButton
|
||||
Left = 0
|
||||
Top = 0
|
||||
Caption = 'Save'
|
||||
Enabled = False
|
||||
ImageIndex = 5
|
||||
end
|
||||
end
|
||||
object pnlBorder: TPanel
|
||||
Left = 0
|
||||
Top = 22
|
||||
Width = 350
|
||||
Height = 478
|
||||
Align = alClient
|
||||
BevelKind = bkFlat
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 1
|
||||
ExplicitLeft = 80
|
||||
ExplicitTop = 240
|
||||
ExplicitWidth = 185
|
||||
ExplicitHeight = 41
|
||||
object HeaderControl1: THeaderControl
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 346
|
||||
Height = 17
|
||||
Sections = <
|
||||
item
|
||||
AutoSize = True
|
||||
ImageIndex = -1
|
||||
Text = 'Details'
|
||||
Width = 346
|
||||
end>
|
||||
NoSizing = True
|
||||
ExplicitTop = 29
|
||||
end
|
||||
object reDetails: TRichEdit
|
||||
Left = 0
|
||||
Top = 17
|
||||
Width = 346
|
||||
Height = 457
|
||||
Align = alClient
|
||||
BorderStyle = bsNone
|
||||
Font.Charset = ANSI_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Courier New'
|
||||
Font.Style = []
|
||||
ParentFont = False
|
||||
PlainText = True
|
||||
ReadOnly = True
|
||||
ScrollBars = ssBoth
|
||||
TabOrder = 1
|
||||
ExplicitTop = 29
|
||||
ExplicitHeight = 486
|
||||
end
|
||||
end
|
||||
end
|
||||
object pnlLog: TPanel
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 658
|
||||
Height = 519
|
||||
Width = 634
|
||||
Height = 500
|
||||
Align = alClient
|
||||
Header.AutoSizeIndex = 2
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -11
|
||||
Header.Font.Name = 'Tahoma'
|
||||
Header.Font.Style = []
|
||||
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible, hoHeaderClickAutoSort]
|
||||
Images = ilsLog
|
||||
TabOrder = 0
|
||||
TreeOptions.PaintOptions = [toHideFocusRect, toShowButtons, toShowDropmark, toThemeAware]
|
||||
TreeOptions.SelectionOptions = [toFullRowSelect]
|
||||
OnFreeNode = vstLogFreeNode
|
||||
OnGetText = vstLogGetText
|
||||
OnGetImageIndex = vstLogGetImageIndex
|
||||
OnInitNode = vstLogInitNode
|
||||
Columns = <
|
||||
item
|
||||
Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coShowDropMark, coVisible, coAllowFocus]
|
||||
Position = 0
|
||||
Width = 24
|
||||
BevelOuter = bvNone
|
||||
TabOrder = 1
|
||||
ExplicitLeft = 408
|
||||
ExplicitTop = 256
|
||||
ExplicitWidth = 185
|
||||
ExplicitHeight = 41
|
||||
object vstLog: TVirtualStringTree
|
||||
Left = 0
|
||||
Top = 22
|
||||
Width = 634
|
||||
Height = 478
|
||||
Align = alClient
|
||||
Header.AutoSizeIndex = 2
|
||||
Header.Font.Charset = DEFAULT_CHARSET
|
||||
Header.Font.Color = clWindowText
|
||||
Header.Font.Height = -11
|
||||
Header.Font.Name = 'Tahoma'
|
||||
Header.Font.Style = []
|
||||
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoShowSortGlyphs, hoVisible, hoHeaderClickAutoSort]
|
||||
Images = ilsLog
|
||||
TabOrder = 0
|
||||
TreeOptions.PaintOptions = [toHideFocusRect, toShowButtons, toShowDropmark, toThemeAware]
|
||||
TreeOptions.SelectionOptions = [toFullRowSelect]
|
||||
OnFocusChanged = vstLogFocusChanged
|
||||
OnFreeNode = vstLogFreeNode
|
||||
OnGetText = vstLogGetText
|
||||
OnGetImageIndex = vstLogGetImageIndex
|
||||
OnInitNode = vstLogInitNode
|
||||
ExplicitTop = 0
|
||||
ExplicitWidth = 637
|
||||
ExplicitHeight = 519
|
||||
Columns = <
|
||||
item
|
||||
Options = [coAllowClick, coDraggable, coEnabled, coParentBidiMode, coParentColor, coShowDropMark, coVisible, coAllowFocus]
|
||||
Position = 0
|
||||
Width = 24
|
||||
end
|
||||
item
|
||||
Position = 1
|
||||
Width = 150
|
||||
WideText = 'Time'
|
||||
end
|
||||
item
|
||||
Position = 2
|
||||
Width = 456
|
||||
WideText = 'Message'
|
||||
end>
|
||||
end
|
||||
object tbLog: TToolBar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 634
|
||||
Height = 22
|
||||
AutoSize = True
|
||||
ButtonWidth = 52
|
||||
Caption = 'tbLog'
|
||||
Images = ilsLog
|
||||
List = True
|
||||
ShowCaptions = True
|
||||
TabOrder = 1
|
||||
ExplicitWidth = 637
|
||||
object tbClear: TToolButton
|
||||
Left = 0
|
||||
Top = 0
|
||||
AutoSize = True
|
||||
Caption = 'Clear'
|
||||
Enabled = False
|
||||
ImageIndex = 6
|
||||
OnClick = tbClearClick
|
||||
end
|
||||
item
|
||||
Position = 1
|
||||
Width = 150
|
||||
WideText = 'Time'
|
||||
end
|
||||
item
|
||||
Position = 2
|
||||
Width = 480
|
||||
WideText = 'Message'
|
||||
end>
|
||||
end
|
||||
end
|
||||
object sbStatus: TStatusBar
|
||||
Left = 0
|
||||
Top = 500
|
||||
Width = 990
|
||||
Height = 19
|
||||
Panels = <>
|
||||
ExplicitLeft = 504
|
||||
ExplicitTop = 272
|
||||
ExplicitWidth = 0
|
||||
end
|
||||
object ilsLog: TImageList
|
||||
Left = 584
|
||||
Top = 48
|
||||
Bitmap = {
|
||||
494C010105004000480010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
494C010107004000540010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000002000000001002000000000000020
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -69,115 +208,115 @@ object X2LogObserverMonitorForm: TX2LogObserverMonitorForm
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000009B7C6C009B7C
|
||||
6C009B7C6C009B7C6C009B7C6C009B7C6C009B7C6C009B7C6C009B7C6C009B7C
|
||||
6C009B7C6C009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
6C009B7C6C009B7C6C0000000000000000000000000000000000AF704E00A747
|
||||
1100895E4600A7ABAB00B9B2AB00C8C7C300C9C9CC00AFAFAF0099A2A8008238
|
||||
0D00A7471100A34B2100A47763000000000000000000000000002427AE00161C
|
||||
AC005A5AA90000000000000000000000000000000000000000005353A9004F4F
|
||||
A200000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000000000009B776600FFFF
|
||||
FF00FAF4E900FAF4E900FAF4E900FAF4E900FAF4E900FAF4E900FAF4E900F9EF
|
||||
E000F9EFE0009779670000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
E000F9EFE00097796700000000000000000000000000BC764500BE631700CD79
|
||||
27009E877000B9875900CE700D00DCAF7A00FEFFFF00FEFFFF00D9E2EA00AD70
|
||||
2400DD943500ECBE7500A4450E0000000000000000004E4EAB001844F600194D
|
||||
F8001031D2002427AE000000000000000000000000004E4EAB000928D7000928
|
||||
D7000313B3004E4EAB0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000A27F6F00FFFF
|
||||
FF00DDC1B400DDC1B400DDC1B400DDC1B400DDBEAD00DDBEAD00DCBAA500DCBA
|
||||
A500F9EFE0009779670000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
A500F9EFE00097796700000000000000000000000000C9680D00C0702800C36C
|
||||
1E00A7876B00AE7C5A00BA580900C69A6C00D9DFE500FEFFFF00F4F9FC00A363
|
||||
1D00D5872D00E5AF6900A4450E0000000000000000002022B1002451F9001F52
|
||||
FF00194DF8001744E8001017AF00000000004747AC000928D7001344F9001041
|
||||
F6000E3EF600041ABC006F6FAA00000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000A3807000FFFF
|
||||
FF00DBC4BD00DBC4BD00DDC1B400DDC1B400DDBEAD00DDBEAD00DCBAA500DCBA
|
||||
A500FAF4E9009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
A500FAF4E9009B7C6C00000000000000000000000000C9680D00BB682300BF66
|
||||
1900B4906E00B37C6000AF490000B5875E00BFC6CD00D5DEE400FEFFFF00A363
|
||||
1D00D5872D00E5AF6900A4450E000000000000000000000000001832DB00295A
|
||||
FF002451F9002451F9001A4AF200060EAF000F30DD00164AFE001344F9001041
|
||||
F6000E3EF6000E3EF6002C2CA200000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000A9877800FFFF
|
||||
FF00DBC6C200DBC4BD00DBC4BD00DDC1B400DBBFB400DCBAA500DDBEAD00DDBE
|
||||
AD00FAF4E9009779670000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
AD00FAF4E90097796700000000000000000000000000C9680D00BF661900BF66
|
||||
1900B07D5800C1BFBD00B0ACA80098918B009A8E8400A3978A00AEA79F009058
|
||||
1F00A7672300DA954200A4450E0000000000000000007777B3001832DB003A6F
|
||||
FF00295AFF00295AFF00295AFF002451F900194DF800194DF8001344F9001344
|
||||
F9000E3EF600161CAC0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000AB897A00FFFF
|
||||
FF00DBC6C200DBC6C200DBC4BD00DBC4BD00DBBFB400DCBAA500DDBEAD00DCBA
|
||||
A500FAF4E9009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
A500FAF4E9009B7C6C00000000000000000000000000C9670A00B55D1B00B55D
|
||||
1B00BA580900BA580900BA580900C2620E00C5671000C8691300C8691300CD79
|
||||
2700D07F2A00D3893200A4450E000000000000000000000000006B6BB6001A25
|
||||
C5003A6FFF003668FF00295AFF00295AFF002451F900194DF8001F52FF00123D
|
||||
ED002427AE000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000AB897A00FFFF
|
||||
FF00DBC6C200DBC4BD00DBC4BD00DBC4BD00DDC1B400DBBFB400DCBAA500DDBE
|
||||
AD00FAF4E9009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
AD00FAF4E9009B7C6C00000000000000000000000000C9680D00B0551400B169
|
||||
3300AF714200AF714200AF714200B0764200B0764200B0764200B0764200B076
|
||||
4200BD804100D5872D00A4450E00000000000000000000000000000000000000
|
||||
00002F2FB3002E4EE7003668FF00295AFF00295AFF002451F900123DED002C2C
|
||||
A200000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B1908000FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCF9F500FCF9F500FCF9F500FAF4
|
||||
E900FAF4E9009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
E900FAF4E9009B7C6C00000000000000000000000000C2620E00AF490000B39D
|
||||
8900E6F2FB00E4EDF300E4EDF300E4EDF300E1E9EF00D9E2EA00DFE3E600D9E2
|
||||
EA00AD9A8A00D07F2600A4450E00000000000000000000000000000000000000
|
||||
000000000000253FDF003A6FFF003668FF00295AFF00295AFF001B46EA002427
|
||||
AE00000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000AF8F8000FFFF
|
||||
FF00DFCDCB00DFCDCB00DBC6C200DBC4BD00DBC4BD00DDC1B400DDBEAD00DDBE
|
||||
AD00FCF9F5009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
AD00FCF9F5009B7C6C00000000000000000000000000C9670A00A8430300B899
|
||||
8400FEFFFF00D4D3D200BEBDBC00C1BFBD00C1BFBD00C2C1C000C9C9CC00DFE3
|
||||
E600B19B8500CD792700A4450E00000000000000000000000000000000000000
|
||||
00002B2CC0004B7CFF004170FF003A6FFF003A6FFF00295AFF00295AFF001031
|
||||
D2004A4AB2000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B1908000FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCF9F500FCF9F500FAF4
|
||||
E900F0E8E0009B7C6C0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
E900F0E8E0009B7C6C00000000000000000000000000C2620E00A23C0000B899
|
||||
8400FEFFFF00E4EDF300EEEEEE00EEEEEE00EEEEEE00E5E4E300DFE3E600E5E4
|
||||
E300AD9A8A00CD792700A4450E00000000000000000000000000000000000000
|
||||
0000253FDF00527CFA004170FF003464FF000C13C1004170FF00295AFF002451
|
||||
F9000B1DC2000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B1908000FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCF9F500A3807000A380
|
||||
7000A3807000A380700000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
7000A3807000A3807000000000000000000000000000C2620E00A23C0000BC9C
|
||||
8A00FEFFFF00DDDCDB00C1BFBD00C2C1C000C2C1C000C1BFBD00C9C9CC00E1E9
|
||||
EF00B19B8500CD771F00A4450E00000000000000000000000000000000004F4F
|
||||
BD00527CFA005081FF004B7CFF001A25C500000000001A25C5003A6FFF002451
|
||||
F9001A4AF2001419B10000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B8988800FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FCF9F500FFFFFF00A3807000F5E2
|
||||
D900B08E7D00AB9E980000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
D900B08E7D00AB9E9800000000000000000000000000C2620E009A310000BC9C
|
||||
8A00FEFFFF00FEFFFF00EEEEEE00EEEEEE00EEEEEE00E5E4E300E5E4E300EEEE
|
||||
EE00B39D8900C2701D00A9480D0000000000000000000000000000000000252D
|
||||
D6006A9CFF005788FF002B46E7006B6BB60000000000000000001A25C500295A
|
||||
FF002451F9001439DD004747AC00000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B8988800FFFF
|
||||
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A3807000B08E
|
||||
7D00AB9E98000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
7D00AB9E980000000000000000000000000000000000C562060093280000BC9C
|
||||
8A00FEFFFF00E5E4E300D1CFCC00D1CFCC00C9C9CC00D1CFCC00D4D3D200E4ED
|
||||
F300B9A38C008A4F1400B0551400000000000000000000000000000000004B4B
|
||||
C8003951E2005081FF002B2CC000000000000000000000000000000000001628
|
||||
D300265AFF000F2EE3002022B100000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000B8988800B898
|
||||
8800B1908000B1908000B08E7D00B08E7D00AC887700AC887700A3807000AB9E
|
||||
9800000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
98000000000000000000000000000000000000000000BF8D5800C0540200C8A4
|
||||
8300D4D3D200D4D3D200D4D3D200D4D3D200C9C9CC00C8C7C300C1BFBD00BEBD
|
||||
BC00B1947B00C0540200B07D5800000000000000000000000000000000000000
|
||||
0000000000003E3EB90000000000000000000000000000000000000000006B6B
|
||||
B6002F2FB3000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
@ -317,11 +456,11 @@ object X2LogObserverMonitorForm: TX2LogObserverMonitorForm
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000000000000000000000000424D3E000000000000003E000000
|
||||
2800000040000000200000000100010000000000000100000000000000000000
|
||||
000000000000000000000000FFFFFF00FFFF000000000000C003000000000000
|
||||
C003000000000000C003000000000000C003000000000000C003000000000000
|
||||
C003000000000000C003000000000000C003000000000000C003000000000000
|
||||
C003000000000000C003000000000000C003000000000000C007000000000000
|
||||
C00F000000000000FFFF000000000000FFFFFFFFFFFFFFFFF81FF81FFFFF8001
|
||||
000000000000000000000000FFFFFF00FFFFFFFFFFFF0000C003C001C7CF0000
|
||||
C003800183830000C003800181010000C0038001C0010000C003800180030000
|
||||
C0038001C0070000C0038001F00F0000C0038001F80F0000C0038001F0070000
|
||||
C0038001F0070000C0038001E0830000C0038001E0C10000C0078001E1E10000
|
||||
C00F8001FBE70000FFFFFFFFFFFF0000FFFFFFFFFFFFFFFFF81FF81FFFFF8001
|
||||
F00FF00F80038001E007E00780018001C003C003800180018001800180018001
|
||||
80018001C003800180018001E003800180018001E007800180018001F00F8001
|
||||
80018001F00F8001C003C003F81F8001E007C007F81F8001F00FE00FFC3F8001
|
||||
|
@ -1,5 +1,7 @@
|
||||
unit X2Log.Observer.MonitorForm;
|
||||
|
||||
// #ToDo3 -oMvR: 20-5-2014: pause button
|
||||
|
||||
interface
|
||||
uses
|
||||
System.Classes,
|
||||
@ -10,7 +12,7 @@ uses
|
||||
VirtualTrees,
|
||||
Winapi.Messages,
|
||||
|
||||
X2Log.Intf;
|
||||
X2Log.Intf, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.ToolWin;
|
||||
|
||||
|
||||
const
|
||||
@ -21,6 +23,17 @@ type
|
||||
TX2LogObserverMonitorForm = class(TForm, IX2LogObserver)
|
||||
vstLog: TVirtualStringTree;
|
||||
ilsLog: TImageList;
|
||||
splDetails: TSplitter;
|
||||
HeaderControl1: THeaderControl;
|
||||
pnlDetails: TPanel;
|
||||
reDetails: TRichEdit;
|
||||
pnlLog: TPanel;
|
||||
tbLog: TToolBar;
|
||||
tbDetails: TToolBar;
|
||||
pnlBorder: TPanel;
|
||||
tbClear: TToolButton;
|
||||
tbSaveDetails: TToolButton;
|
||||
sbStatus: TStatusBar;
|
||||
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure FormClose(Sender: TObject; var Action: TCloseAction);
|
||||
@ -28,6 +41,8 @@ type
|
||||
procedure vstLogFreeNode(Sender: TBaseVirtualTree; Node: PVirtualNode);
|
||||
procedure vstLogGetText(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType; var CellText: string);
|
||||
procedure vstLogGetImageIndex(Sender: TBaseVirtualTree; Node: PVirtualNode; Kind: TVTImageKind; Column: TColumnIndex; var Ghosted: Boolean; var ImageIndex: Integer);
|
||||
procedure vstLogFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex);
|
||||
procedure tbClearClick(Sender: TObject);
|
||||
private class var
|
||||
FInstances: TDictionary<IX2Log,TX2LogObserverMonitorForm>;
|
||||
private
|
||||
@ -195,6 +210,9 @@ begin
|
||||
vstLog.NodeDataSize := SizeOf(TLogEntryNodeData);
|
||||
vstLog.Header.Columns[ColumnTime].Text := GetLogResourceString(@LogMonitorFormColumnTime);
|
||||
vstLog.Header.Columns[ColumnMessage].Text := GetLogResourceString(@LogMonitorFormColumnMessage);
|
||||
|
||||
tbClear.Caption := GetLogResourceString(@LogMonitorFormButtonClear);
|
||||
tbSaveDetails.Caption := GetLogResourceString(@LogMonitorFormButtonSaveDetails);
|
||||
end;
|
||||
|
||||
|
||||
@ -248,9 +266,15 @@ var
|
||||
nodeData: PLogEntryNodeData;
|
||||
|
||||
begin
|
||||
// #ToDo1 -oMvR: 20-5-2014: thread safety; Log is not guaranteed to be called in the main thread!
|
||||
if GetCurrentThreadId <> MainThreadID then
|
||||
exit;
|
||||
|
||||
node := vstLog.AddChild(nil);
|
||||
nodeData := vstLog.GetNodeData(node);
|
||||
nodeData^.Initialize(ALevel, AMessage, ADetails);
|
||||
|
||||
tbClear.Enabled := True;
|
||||
end;
|
||||
|
||||
|
||||
@ -334,4 +358,25 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure TX2LogObserverMonitorForm.vstLogFocusChanged(Sender: TBaseVirtualTree; Node: PVirtualNode; Column: TColumnIndex);
|
||||
var
|
||||
nodeData: PLogEntryNodeData;
|
||||
|
||||
begin
|
||||
if Assigned(Node) then
|
||||
begin
|
||||
nodeData := Sender.GetNodeData(Node);
|
||||
reDetails.Text := nodeData^.Details;
|
||||
end else
|
||||
reDetails.Text := '';
|
||||
end;
|
||||
|
||||
|
||||
procedure TX2LogObserverMonitorForm.tbClearClick(Sender: TObject);
|
||||
begin
|
||||
vstLog.Clear;
|
||||
tbClear.Enabled := False;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user