added fast clean msg btn

This commit is contained in:
Basile Burg 2014-11-14 23:09:10 +01:00
parent c67abe2ac9
commit 83327ccfb8
2 changed files with 76 additions and 21 deletions

View File

@ -56,73 +56,123 @@ inherited CEMessagesWidget: TCEMessagesWidget
TabOrder = 1
Wrapable = False
object btnSelAll: TToolButton
Left = 1
Left = 33
Hint = 'unfiltered messages'
Top = 2
Caption = 'All'
Down = True
end
object ToolButton2: TToolButton
Left = 101
Left = 133
Top = 2
Width = 5
Caption = 'ToolButton2'
Style = tbsDivider
end
object btnSelEdit: TToolButton
Left = 106
Left = 138
Hint = 'messages related to the current document'
Top = 2
Caption = 'Editor'
end
object ToolButton4: TToolButton
Left = 206
Left = 238
Top = 2
Width = 5
Caption = 'ToolButton4'
Style = tbsDivider
end
object btnSelProj: TToolButton
Left = 211
Left = 243
Hint = 'message related to the current project'
Top = 2
Caption = 'Project'
end
object ToolButton8: TToolButton
Left = 311
Left = 343
Top = 2
Width = 5
Caption = 'ToolButton8'
Style = tbsDivider
end
object btnSelApp: TToolButton
Left = 316
Left = 348
Hint = 'messages related to Coedit'
Top = 2
Caption = 'Application'
end
object ToolButton10: TToolButton
Left = 416
Left = 448
Top = 2
Width = 5
Caption = 'ToolButton10'
Style = tbsDivider
end
object btnSelMisc: TToolButton
Left = 421
Left = 453
Hint = 'miscellaneous messages, custom tools output, etc'
Top = 2
Caption = 'Misc.'
end
object btnClearCat: TBitBtn
Left = 1
Height = 24
Top = 2
Width = 27
Glyph.Data = {
36040000424D3604000000000000360000002800000010000000100000000100
2000000000000004000064000000640000000000000000000000FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00015F9000002B
550001568600002B5500014C7B00002B550000315C47002D57CC002C56CC002B
5548002C570000335E00003C680001010100014B7900014B7A00015F9000002B
550001568600002B5500014C7B00002B5548002B55CC5494B7FF34679AFF0030
5ACA002D584800335E00003C680001010100014B7900014B7A00015F9000002B
550001568600002B5500014D7C41014B79BB3A719FFF386F9DFF5F9FC0FF4578
ABFF003763C600356046003C680001010100014B7900014B7A00015F9000002B
550001568600002B5548002B55CC4F8DB3FF68ACC8FF4880ACFF5087B3FF6AAA
C8FF5588BBFF00416EC1003E6A4401010100014B7900014B7A00015F9000002B
55000157873F015585B65FA1C0FF3F79A3FF4278A7FF66A6C5FF619DC2FF5E95
C1FF74B4D1FF6598CBFF010101AB0101013C014B7900014B7A00015F9000002B
5548002B55CC336898FF508CB3FF69ABC8FF67A7C6FF4D80B3FF71B1CEFF6EA9
CDFF6CA3CEFF6D6D6DFFAA9999FF010101A5014C7A42014B7A000160913E015E
8FB16AAEC9FF66A8C5FF5692B8FF4B80AFFF5D97BFFF77B9D2FF669DC8FF7BBA
D5FF7E7E7EFFCEC0C0FF797979FF5588BBFF014F7EA6014E7D0001629383126D
9BB82078A2C33385ABD058A2C0E774B9D1FB6EACCCFF669DC8FF83C7DAFF8888
88FFD3CACAFF838383FF60A4C6FF63A7C9FF015382A501528100016395050163
9414016293280161924101619277106C9AAB4B9BBADB79B9D5FC919191FFD9D4
D4FF8D8D8DFF68ACCEFF74B8D4FF015887B40156864001558400016395000163
9400016293000161920001629300016293100162936D00000069DDDCDCFF9494
94FF70B4D6FF80C4DBFF015C8DB2001A63CC0013584800226E00016395000163
94000162930001619200016293000162930001639400000000240000006788CC
DDFF87CBDDFF016091AF003080CC3F72B6FF002774CC00247048016395000163
940001629300016192000162930001629300016394000000000001334C390165
969C0164959C0163943E00398B48003688CC5285C9FF002E7ECC016395000163
940001629300016192000162930001629300016394000000000001334C000165
97000164960001639400003A8C00003E9248003C8FCC00378A48FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00
}
TabOrder = 0
end
object ToolButton1: TToolButton
Left = 28
Top = 2
Width = 5
Caption = 'ToolButton1'
Style = tbsDivider
end
end
end
end
inherited contextMenu: TPopupMenu
left = 16
left = 32
top = 40
end
object imgList: TImageList[2]
left = 56
left = 72
top = 40
Bitmap = {
4C69050000001000000010000000CF986200D1996200D1996234D0965DBCCF94

View File

@ -6,8 +6,9 @@ interface
uses
Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, ComCtrls,
lcltype, ce_widget, ActnList, Menus, clipbrd, AnchorDocking, process, asyncprocess,
ce_common, ce_project, ce_synmemo, ce_dlangutils, ce_interfaces, ce_observer;
lcltype, ce_widget, ActnList, Menus, clipbrd, AnchorDocking, process,
asyncprocess, Buttons, ce_common, ce_project, ce_synmemo, ce_dlangutils,
ce_interfaces, ce_observer;
type
@ -22,10 +23,12 @@ type
{ TCEMessagesWidget }
TCEMessagesWidget = class(TCEWidget, ICEMultiDocObserver, ICEProjectObserver, ICELogMessageObserver)
btnClearCat: TBitBtn;
imgList: TImageList;
List: TTreeView;
selCtxt: TToolBar;
btnSelAll: TToolButton;
ToolButton1: TToolButton;
ToolButton10: TToolButton;
btnSelMisc: TToolButton;
ToolButton2: TToolButton;
@ -38,7 +41,7 @@ type
procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
fActClearAll: TAction;
fActClearEdi: TAction;
fActClearCurCat: TAction;
fActSaveMsg: TAction;
fActCopyMsg: TAction;
fActSelAll: TAction;
@ -48,7 +51,7 @@ type
fCtxt: TCEAppMessageCtxt;
procedure filterMessages(aCtxt: TCEAppMessageCtxt);
procedure clearOutOfRangeMessg;
procedure actClearEdiExecute(Sender: TObject);
procedure actClearCurCatExecute(Sender: TObject);
procedure actClearAllExecute(Sender: TObject);
procedure actSaveMsgExecute(Sender: TObject);
procedure actCopyMsgExecute(Sender: TObject);
@ -108,9 +111,9 @@ begin
fActClearAll := TAction.Create(self);
fActClearAll.OnExecute := @actClearAllExecute;
fActClearAll.caption := 'Clear all messages';
fActClearEdi := TAction.Create(self);
fActClearEdi.OnExecute := @actClearEdiExecute;
fActClearEdi.caption := 'Clear editor messages';
fActClearCurCat := TAction.Create(self);
fActClearCurCat.OnExecute := @actClearCurCatExecute;
fActClearCurCat.caption := 'Clear filtered messages';
fActCopyMsg := TAction.Create(self);
fActCopyMsg.OnExecute := @actCopyMsgExecute;
fActCopyMsg.Caption := 'Copy message(s)';
@ -132,6 +135,8 @@ begin
btnSelApp.OnClick := @selCtxtClick;
btnSelAll.OnClick := @selCtxtClick;
//
btnClearCat.OnClick := @actClearCurCatExecute;
//
EntitiesConnector.addObserver(self);
EntitiesConnector.endUpdate;
end;
@ -237,7 +242,7 @@ function TCEMessagesWidget.contextAction(index: integer): TAction;
begin
case index of
0: result := fActClearAll;
1: result := fActClearEdi;
1: result := fActClearCurCat;
2: result := fActCopyMsg;
3: result := fActSelAll;
4: result := fActSaveMsg;
@ -250,9 +255,9 @@ begin
lmClearbyContext(amcAll);
end;
procedure TCEMessagesWidget.actClearEdiExecute(Sender: TObject);
procedure TCEMessagesWidget.actClearCurCatExecute(Sender: TObject);
begin
lmClearbyData(@fDoc);
lmClearbyContext(fCtxt);
end;
procedure TCEMessagesWidget.actCopyMsgExecute(Sender: TObject);