mirror of https://gitlab.com/basile.b/dexed.git
Merge branch 'a12_2_a13'
This commit is contained in:
commit
ba0019e62a
|
@ -151,6 +151,7 @@
|
||||||
<Unit3>
|
<Unit3>
|
||||||
<Filename Value="..\src\ce_d2syn.pas"/>
|
<Filename Value="..\src\ce_d2syn.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="ce_d2syn"/>
|
||||||
</Unit3>
|
</Unit3>
|
||||||
<Unit4>
|
<Unit4>
|
||||||
<Filename Value="..\src\ce_dcd.pas"/>
|
<Filename Value="..\src\ce_dcd.pas"/>
|
||||||
|
@ -213,7 +214,6 @@
|
||||||
<ComponentName Value="CEMiniExplorerWidget"/>
|
<ComponentName Value="CEMiniExplorerWidget"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="ce_miniexplorer"/>
|
|
||||||
</Unit14>
|
</Unit14>
|
||||||
<Unit15>
|
<Unit15>
|
||||||
<Filename Value="..\src\ce_observer.pas"/>
|
<Filename Value="..\src\ce_observer.pas"/>
|
||||||
|
@ -237,7 +237,6 @@
|
||||||
<ComponentName Value="CEProjectConfigurationWidget"/>
|
<ComponentName Value="CEProjectConfigurationWidget"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="ce_projconf"/>
|
|
||||||
</Unit18>
|
</Unit18>
|
||||||
<Unit19>
|
<Unit19>
|
||||||
<Filename Value="..\src\ce_project.pas"/>
|
<Filename Value="..\src\ce_project.pas"/>
|
||||||
|
@ -264,16 +263,15 @@
|
||||||
<ComponentName Value="CEStaticExplorerWidget"/>
|
<ComponentName Value="CEStaticExplorerWidget"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="ce_staticexplorer"/>
|
|
||||||
</Unit22>
|
</Unit22>
|
||||||
<Unit23>
|
<Unit23>
|
||||||
<Filename Value="..\src\ce_staticmacro.pas"/>
|
<Filename Value="..\src\ce_staticmacro.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="ce_staticmacro"/>
|
|
||||||
</Unit23>
|
</Unit23>
|
||||||
<Unit24>
|
<Unit24>
|
||||||
<Filename Value="..\src\ce_symstring.pas"/>
|
<Filename Value="..\src\ce_symstring.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="ce_symstring"/>
|
||||||
</Unit24>
|
</Unit24>
|
||||||
<Unit25>
|
<Unit25>
|
||||||
<Filename Value="..\src\ce_synmemo.pas"/>
|
<Filename Value="..\src\ce_synmemo.pas"/>
|
||||||
|
@ -290,6 +288,7 @@
|
||||||
<ComponentName Value="CEToolsEditorWidget"/>
|
<ComponentName Value="CEToolsEditorWidget"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
|
<UnitName Value="ce_toolseditor"/>
|
||||||
</Unit27>
|
</Unit27>
|
||||||
<Unit28>
|
<Unit28>
|
||||||
<Filename Value="..\src\ce_txtsyn.pas"/>
|
<Filename Value="..\src\ce_txtsyn.pas"/>
|
||||||
|
@ -305,6 +304,7 @@
|
||||||
<Unit30>
|
<Unit30>
|
||||||
<Filename Value="..\src\ce_writablecomponent.pas"/>
|
<Filename Value="..\src\ce_writablecomponent.pas"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
|
<UnitName Value="ce_writableComponent"/>
|
||||||
</Unit30>
|
</Unit30>
|
||||||
<Unit31>
|
<Unit31>
|
||||||
<Filename Value="..\src\ce_todolist.pas"/>
|
<Filename Value="..\src\ce_todolist.pas"/>
|
||||||
|
@ -324,7 +324,6 @@
|
||||||
<ComponentName Value="CEOptionEditorWidget"/>
|
<ComponentName Value="CEOptionEditorWidget"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Form"/>
|
<ResourceBaseClass Value="Form"/>
|
||||||
<UnitName Value="ce_optionseditor"/>
|
|
||||||
</Unit33>
|
</Unit33>
|
||||||
<Unit34>
|
<Unit34>
|
||||||
<Filename Value="..\src\ce_editoroptions.pas"/>
|
<Filename Value="..\src\ce_editoroptions.pas"/>
|
||||||
|
@ -341,7 +340,6 @@
|
||||||
<ComponentName Value="CEShortcutEditor"/>
|
<ComponentName Value="CEShortcutEditor"/>
|
||||||
<HasResources Value="True"/>
|
<HasResources Value="True"/>
|
||||||
<ResourceBaseClass Value="Frame"/>
|
<ResourceBaseClass Value="Frame"/>
|
||||||
<UnitName Value="ce_shortcutseditor"/>
|
|
||||||
</Unit36>
|
</Unit36>
|
||||||
</Units>
|
</Units>
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
|
@ -353,7 +351,7 @@
|
||||||
</Target>
|
</Target>
|
||||||
<SearchPaths>
|
<SearchPaths>
|
||||||
<IncludeFiles Value="$(ProjOutDir)"/>
|
<IncludeFiles Value="$(ProjOutDir)"/>
|
||||||
<OtherUnitFiles Value="..\src;$(LazarusDir)\components\anchordocking"/>
|
<OtherUnitFiles Value="..\src"/>
|
||||||
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
|
||||||
</SearchPaths>
|
</SearchPaths>
|
||||||
<CodeGeneration>
|
<CodeGeneration>
|
||||||
|
|
|
@ -7,8 +7,8 @@ interface
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms,
|
Classes, SysUtils, FileUtil, SynEditKeyCmds, SynHighlighterLFM, Forms,
|
||||||
AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls, Graphics,
|
AnchorDocking, AnchorDockStorage, AnchorDockOptionsDlg, Controls, Graphics,
|
||||||
Dialogs, Menus, ActnList, ExtCtrls, process, XMLPropStorage, dynlibs, SynExportHTML,
|
Dialogs, Menus, ActnList, ExtCtrls, process, XMLPropStorage, SynExportHTML,
|
||||||
ce_common, ce_dmdwrap, ce_project, ce_dcd, ce_plugin, ce_synmemo, ce_widget,
|
ce_common, ce_dmdwrap, ce_project, ce_dcd, ce_synmemo, ce_widget,
|
||||||
ce_messages, ce_interfaces, ce_editor, ce_projinspect, ce_projconf, ce_search,
|
ce_messages, ce_interfaces, ce_editor, ce_projinspect, ce_projconf, ce_search,
|
||||||
ce_staticexplorer, ce_miniexplorer, ce_libman, ce_libmaneditor, ce_todolist,
|
ce_staticexplorer, ce_miniexplorer, ce_libman, ce_libmaneditor, ce_todolist,
|
||||||
ce_observer, ce_writableComponent, ce_toolseditor, ce_procinput, ce_optionseditor,
|
ce_observer, ce_writableComponent, ce_toolseditor, ce_procinput, ce_optionseditor,
|
||||||
|
|
|
@ -37,7 +37,6 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
ShowLines = False
|
ShowLines = False
|
||||||
ShowRoot = False
|
ShowRoot = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnDblClick = ListDblClick
|
|
||||||
OnKeyDown = ListKeyDown
|
OnKeyDown = ListKeyDown
|
||||||
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoToolTips, tvoThemedDraw]
|
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoToolTips, tvoThemedDraw]
|
||||||
end
|
end
|
||||||
|
@ -63,6 +62,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
end
|
end
|
||||||
object ToolButton2: TToolButton
|
object ToolButton2: TToolButton
|
||||||
Left = 133
|
Left = 133
|
||||||
|
Height = 24
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 5
|
Width = 5
|
||||||
Caption = 'ToolButton2'
|
Caption = 'ToolButton2'
|
||||||
|
@ -76,6 +76,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
end
|
end
|
||||||
object ToolButton4: TToolButton
|
object ToolButton4: TToolButton
|
||||||
Left = 238
|
Left = 238
|
||||||
|
Height = 24
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 5
|
Width = 5
|
||||||
Caption = 'ToolButton4'
|
Caption = 'ToolButton4'
|
||||||
|
@ -89,6 +90,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
end
|
end
|
||||||
object ToolButton8: TToolButton
|
object ToolButton8: TToolButton
|
||||||
Left = 343
|
Left = 343
|
||||||
|
Height = 24
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 5
|
Width = 5
|
||||||
Caption = 'ToolButton8'
|
Caption = 'ToolButton8'
|
||||||
|
@ -102,6 +104,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
end
|
end
|
||||||
object ToolButton10: TToolButton
|
object ToolButton10: TToolButton
|
||||||
Left = 448
|
Left = 448
|
||||||
|
Height = 24
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 5
|
Width = 5
|
||||||
Caption = 'ToolButton10'
|
Caption = 'ToolButton10'
|
||||||
|
@ -158,6 +161,7 @@ inherited CEMessagesWidget: TCEMessagesWidget
|
||||||
end
|
end
|
||||||
object ToolButton1: TToolButton
|
object ToolButton1: TToolButton
|
||||||
Left = 28
|
Left = 28
|
||||||
|
Height = 24
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 5
|
Width = 5
|
||||||
Caption = 'ToolButton1'
|
Caption = 'ToolButton1'
|
||||||
|
|
|
@ -24,9 +24,19 @@ type
|
||||||
private
|
private
|
||||||
fMaxCount: Integer;
|
fMaxCount: Integer;
|
||||||
fAutoSelect: boolean;
|
fAutoSelect: boolean;
|
||||||
|
fSingleClick: boolean;
|
||||||
|
fFont: TFont;
|
||||||
|
procedure setFont(aValue: TFont);
|
||||||
published
|
published
|
||||||
property maxMessageCount: integer read fMaxCount write fMaxCount;
|
property maxMessageCount: integer read fMaxCount write fMaxCount;
|
||||||
property autoSelect: boolean read fAutoSelect write fAutoSelect;
|
property autoSelect: boolean read fAutoSelect write fAutoSelect;
|
||||||
|
property singleMessageClick: boolean read fSingleClick write fSingleClick;
|
||||||
|
property font: TFont read fFont write setFont;
|
||||||
|
public
|
||||||
|
constructor Create(AOwner: TComponent); override;
|
||||||
|
destructor destroy; override;
|
||||||
|
procedure assign(Source: TPersistent); override;
|
||||||
|
procedure AssignTo(Dest: TPersistent); override;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
TCEMessagesWidget = class(TCEWidget, ICEEditableOptions, ICEMultiDocObserver, ICEProjectObserver, ICEMessagesDisplay)
|
TCEMessagesWidget = class(TCEWidget, ICEEditableOptions, ICEMultiDocObserver, ICEProjectObserver, ICEMessagesDisplay)
|
||||||
|
@ -44,7 +54,6 @@ type
|
||||||
btnSelProj: TToolButton;
|
btnSelProj: TToolButton;
|
||||||
ToolButton8: TToolButton;
|
ToolButton8: TToolButton;
|
||||||
btnSelApp: TToolButton;
|
btnSelApp: TToolButton;
|
||||||
procedure ListDblClick(Sender: TObject);
|
|
||||||
procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
private
|
private
|
||||||
fActAutoSel: TAction;
|
fActAutoSel: TAction;
|
||||||
|
@ -58,7 +67,9 @@ type
|
||||||
fDoc: TCESynMemo;
|
fDoc: TCESynMemo;
|
||||||
fCtxt: TCEAppMessageCtxt;
|
fCtxt: TCEAppMessageCtxt;
|
||||||
fAutoSelect: boolean;
|
fAutoSelect: boolean;
|
||||||
fEditableOptions: TCEMessagesOptions;
|
fSingleClick: boolean;
|
||||||
|
fOptions: TCEMessagesOptions;
|
||||||
|
fOptionsBackup: TCEMessagesOptions;
|
||||||
fBtns: array[TCEAppMessageCtxt] of TToolButton;
|
fBtns: array[TCEAppMessageCtxt] of TToolButton;
|
||||||
procedure filterMessages(aCtxt: TCEAppMessageCtxt);
|
procedure filterMessages(aCtxt: TCEAppMessageCtxt);
|
||||||
procedure clearOutOfRangeMessg;
|
procedure clearOutOfRangeMessg;
|
||||||
|
@ -69,14 +80,12 @@ type
|
||||||
procedure actCopyMsgExecute(Sender: TObject);
|
procedure actCopyMsgExecute(Sender: TObject);
|
||||||
procedure actSelAllExecute(Sender: TObject);
|
procedure actSelAllExecute(Sender: TObject);
|
||||||
procedure setMaxMessageCount(aValue: Integer);
|
procedure setMaxMessageCount(aValue: Integer);
|
||||||
|
procedure setAutoSelectCategory(aValue: boolean);
|
||||||
|
procedure setSingleMessageClick(aValue: boolean);
|
||||||
procedure listDeletion(Sender: TObject; Node: TTreeNode);
|
procedure listDeletion(Sender: TObject; Node: TTreeNode);
|
||||||
procedure selCtxtClick(Sender: TObject);
|
procedure selCtxtClick(Sender: TObject);
|
||||||
function iconIndex(aKind: TCEAppMessageKind): Integer;
|
function iconIndex(aKind: TCEAppMessageKind): Integer;
|
||||||
//
|
procedure handleMessageClick(Sender: TObject);
|
||||||
procedure optset_MaxMessageCount(aReader: TReader);
|
|
||||||
procedure optget_MaxMessageCount(aWriter: TWriter);
|
|
||||||
procedure optset_AutoSelect(aReader: TReader);
|
|
||||||
procedure optget_AutoSelect(aWriter: TWriter);
|
|
||||||
//
|
//
|
||||||
procedure projNew(aProject: TCEProject);
|
procedure projNew(aProject: TCEProject);
|
||||||
procedure projClosing(aProject: TCEProject);
|
procedure projClosing(aProject: TCEProject);
|
||||||
|
@ -99,19 +108,19 @@ type
|
||||||
procedure clearbyContext(aCtxt: TCEAppMessageCtxt);
|
procedure clearbyContext(aCtxt: TCEAppMessageCtxt);
|
||||||
procedure clearbyData(aData: Pointer);
|
procedure clearbyData(aData: Pointer);
|
||||||
protected
|
protected
|
||||||
procedure sesoptDeclareProperties(aFiler: TFiler); override;
|
|
||||||
//
|
//
|
||||||
function contextName: string; override;
|
function contextName: string; override;
|
||||||
function contextActionCount: integer; override;
|
function contextActionCount: integer; override;
|
||||||
function contextAction(index: integer): TAction; override;
|
function contextAction(index: integer): TAction; override;
|
||||||
published
|
//
|
||||||
property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount default 125;
|
property maxMessageCount: Integer read fMaxMessCnt write setMaxMessageCount;
|
||||||
|
property autoSelectCategory: boolean read fAutoSelect write setAutoSelectCategory;
|
||||||
|
property singleMessageClick: boolean read fSingleClick write setSingleMessageClick;
|
||||||
public
|
public
|
||||||
constructor create(aOwner: TComponent); override;
|
constructor create(aOwner: TComponent); override;
|
||||||
destructor destroy; override;
|
destructor destroy; override;
|
||||||
//
|
//
|
||||||
procedure scrollToBack;
|
procedure scrollToBack;
|
||||||
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function guessMessageKind(const aMessg: string): TCEAppMessageKind;
|
function guessMessageKind(const aMessg: string): TCEAppMessageKind;
|
||||||
|
@ -121,8 +130,73 @@ type
|
||||||
implementation
|
implementation
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
|
const
|
||||||
|
optname = 'messages.txt';
|
||||||
|
|
||||||
|
{$REGION TCEMessagesOptions ----------------------------------------------------}
|
||||||
|
constructor TCEMessagesOptions.Create(AOwner: TComponent);
|
||||||
|
begin
|
||||||
|
inherited;
|
||||||
|
fFont := TFont.Create;
|
||||||
|
end;
|
||||||
|
|
||||||
|
destructor TCEMessagesOptions.destroy;
|
||||||
|
begin
|
||||||
|
fFont.Free;
|
||||||
|
inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesOptions.setFont(aValue: TFont);
|
||||||
|
begin
|
||||||
|
fFont.Assign(aValue);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesOptions.assign(Source: TPersistent);
|
||||||
|
var
|
||||||
|
widg : TCEMessagesWidget;
|
||||||
|
opts : TCEMessagesOptions;
|
||||||
|
begin
|
||||||
|
if Source is TCEMessagesOptions then
|
||||||
|
begin
|
||||||
|
opts := TCEMessagesOptions(Source);
|
||||||
|
fFont.BeginUpdate;
|
||||||
|
fFont.Assign(opts.font);
|
||||||
|
fMaxCount := opts.fMaxCount;
|
||||||
|
fAutoSelect := opts.fAutoSelect;
|
||||||
|
fSingleClick := opts.fSingleClick;
|
||||||
|
fFont.EndUpdate;
|
||||||
|
end
|
||||||
|
else if Source is TCEMessagesWidget then
|
||||||
|
begin
|
||||||
|
widg := TCEMessagesWidget(Source);
|
||||||
|
fFont.Assign(widg.List.Font);
|
||||||
|
fMaxCount := widg.fMaxMessCnt;
|
||||||
|
fAutoSelect := widg.fAutoSelect;
|
||||||
|
fSingleClick := widg.fSingleClick;
|
||||||
|
end
|
||||||
|
else inherited;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesOptions.AssignTo(Dest: TPersistent);
|
||||||
|
var
|
||||||
|
widg : TCEMessagesWidget;
|
||||||
|
begin
|
||||||
|
if Dest is TCEMessagesWidget then
|
||||||
|
begin
|
||||||
|
widg := TCEMessagesWidget(Dest);
|
||||||
|
widg.List.Font.Assign(fFont);
|
||||||
|
widg.maxMessageCount := fMaxCount;
|
||||||
|
widg.autoSelectCategory := fAutoSelect;
|
||||||
|
widg.singleMessageClick := fSingleClick;
|
||||||
|
end
|
||||||
|
else inherited;
|
||||||
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||||
constructor TCEMessagesWidget.create(aOwner: TComponent);
|
constructor TCEMessagesWidget.create(aOwner: TComponent);
|
||||||
|
var
|
||||||
|
fname: string;
|
||||||
begin
|
begin
|
||||||
fMaxMessCnt := 500;
|
fMaxMessCnt := 500;
|
||||||
fCtxt := amcAll;
|
fCtxt := amcAll;
|
||||||
|
@ -149,8 +223,10 @@ begin
|
||||||
//
|
//
|
||||||
inherited;
|
inherited;
|
||||||
//
|
//
|
||||||
fEditableOptions := TCEMessagesOptions.Create(Self);
|
fOptions := TCEMessagesOptions.Create(Self);
|
||||||
fEditableOptions.Name:= 'messageOptions';
|
fOptions.assign(self);
|
||||||
|
fOptions.Name:= 'messageOptions';
|
||||||
|
fOptionsBackup := TCEMessagesOptions.Create(Self);
|
||||||
//
|
//
|
||||||
List.PopupMenu := contextMenu;
|
List.PopupMenu := contextMenu;
|
||||||
List.OnDeletion := @ListDeletion;
|
List.OnDeletion := @ListDeletion;
|
||||||
|
@ -168,12 +244,20 @@ begin
|
||||||
//
|
//
|
||||||
btnClearCat.OnClick := @actClearCurCatExecute;
|
btnClearCat.OnClick := @actClearCurCatExecute;
|
||||||
//
|
//
|
||||||
|
fname := getCoeditDocPath + optname;
|
||||||
|
if fileExists(fname) then
|
||||||
|
begin
|
||||||
|
fOptions.loadFromFile(fname);
|
||||||
|
fOptions.AssignTo(self);
|
||||||
|
end;
|
||||||
|
//
|
||||||
EntitiesConnector.addObserver(self);
|
EntitiesConnector.addObserver(self);
|
||||||
EntitiesConnector.addSingleService(self);
|
EntitiesConnector.addSingleService(self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCEMessagesWidget.destroy;
|
destructor TCEMessagesWidget.destroy;
|
||||||
begin
|
begin
|
||||||
|
fOptions.saveToFile(getCoeditDocPath + optname);
|
||||||
EntitiesConnector.removeObserver(self);
|
EntitiesConnector.removeObserver(self);
|
||||||
Inherited;
|
Inherited;
|
||||||
end;
|
end;
|
||||||
|
@ -181,7 +265,7 @@ end;
|
||||||
procedure TCEMessagesWidget.listDeletion(Sender: TObject; Node: TTreeNode);
|
procedure TCEMessagesWidget.listDeletion(Sender: TObject; Node: TTreeNode);
|
||||||
begin
|
begin
|
||||||
if node.Data <> nil then
|
if node.Data <> nil then
|
||||||
Dispose( PMessageData(Node.Data));
|
Dispose(PMessageData(Node.Data));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.ListKeyDown(Sender: TObject; var Key: Word;
|
procedure TCEMessagesWidget.ListKeyDown(Sender: TObject; var Key: Word;
|
||||||
|
@ -225,6 +309,36 @@ begin
|
||||||
fCtxt := amcMisc;
|
fCtxt := amcMisc;
|
||||||
filterMessages(fCtxt);
|
filterMessages(fCtxt);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.setMaxMessageCount(aValue: Integer);
|
||||||
|
begin
|
||||||
|
if aValue < 5 then
|
||||||
|
aValue := 5;
|
||||||
|
if fMaxMessCnt = aValue then
|
||||||
|
exit;
|
||||||
|
fMaxMessCnt := aValue;
|
||||||
|
clearOutOfRangeMessg;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.setAutoSelectCategory(aValue: boolean);
|
||||||
|
begin
|
||||||
|
fAutoSelect := aValue;
|
||||||
|
fActAutoSel.Checked:= fAutoSelect;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEMessagesWidget.setSingleMessageClick(aValue: boolean);
|
||||||
|
begin
|
||||||
|
fSingleClick := aValue;
|
||||||
|
if fSingleClick then
|
||||||
|
begin
|
||||||
|
List.OnClick := @handleMessageClick;
|
||||||
|
List.OnDblClick:= nil;
|
||||||
|
end else begin
|
||||||
|
List.OnClick := nil;
|
||||||
|
List.OnDblClick:= @handleMessageClick;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEEditableOptions ----------------------------------------------------}
|
{$REGION ICEEditableOptions ----------------------------------------------------}
|
||||||
|
@ -240,61 +354,20 @@ end;
|
||||||
|
|
||||||
function TCEMessagesWidget.optionedWantContainer: TPersistent;
|
function TCEMessagesWidget.optionedWantContainer: TPersistent;
|
||||||
begin
|
begin
|
||||||
fEditableOptions.maxMessageCount:= fMaxMessCnt;
|
fOptions.assign(self);
|
||||||
fEditableOptions.autoSelect:= fActAutoSel.Checked;
|
fOptionsBackup.assign(self);
|
||||||
exit(fEditableOptions);
|
exit(fOptions);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.optionedEvent(anEvent: TOptionEditorEvent);
|
procedure TCEMessagesWidget.optionedEvent(anEvent: TOptionEditorEvent);
|
||||||
begin
|
begin
|
||||||
if anEvent = oeeAccept then
|
case anEvent of
|
||||||
begin
|
oeeAccept:
|
||||||
fMaxMessCnt := fEditableOptions.maxMessageCount;
|
fOptionsBackup.assign(fOptions);
|
||||||
fActAutoSel.Checked := fEditableOptions.autoSelect;
|
oeeCancel:
|
||||||
clearOutOfRangeMessg;
|
fOptions.assign(fOptionsBackup);
|
||||||
end;
|
end;
|
||||||
end;
|
fOptions.AssignTo(self);
|
||||||
{$ENDREGION}
|
|
||||||
|
|
||||||
{$REGION ICESessionOptionsObserver ---------------------------------------------}
|
|
||||||
procedure TCEMessagesWidget.setMaxMessageCount(aValue: Integer);
|
|
||||||
begin
|
|
||||||
if aValue < 5 then
|
|
||||||
aValue := 5;
|
|
||||||
if fMaxMessCnt = aValue then
|
|
||||||
exit;
|
|
||||||
fMaxMessCnt := aValue;
|
|
||||||
clearOutOfRangeMessg;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEMessagesWidget.optset_MaxMessageCount(aReader: TReader);
|
|
||||||
begin
|
|
||||||
maxMessageCount := aReader.ReadInteger;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEMessagesWidget.optget_MaxMessageCount(aWriter: TWriter);
|
|
||||||
begin
|
|
||||||
aWriter.WriteInteger(fMaxMessCnt);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEMessagesWidget.optset_AutoSelect(aReader: TReader);
|
|
||||||
begin
|
|
||||||
fAutoSelect := aReader.ReadBoolean;
|
|
||||||
fActAutoSel.Checked := fAutoSelect;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEMessagesWidget.optget_AutoSelect(aWriter: TWriter);
|
|
||||||
begin
|
|
||||||
aWriter.WriteBoolean(fAutoSelect);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEMessagesWidget.sesoptDeclareProperties(aFiler: TFiler);
|
|
||||||
begin
|
|
||||||
inherited;
|
|
||||||
aFiler.DefineProperty(Name + '_MaxMessageCount', @optset_MaxMessageCount,
|
|
||||||
@optget_MaxMessageCount, true);
|
|
||||||
aFiler.DefineProperty(Name + '_AutoSelectCategory', @optset_AutoSelect,
|
|
||||||
@optget_AutoSelect, true);
|
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
@ -537,7 +610,7 @@ begin
|
||||||
List.BottomItem.MakeVisible;
|
List.BottomItem.MakeVisible;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.ListDblClick(Sender: TObject);
|
procedure TCEMessagesWidget.handleMessageClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
pos: TPoint;
|
pos: TPoint;
|
||||||
msg: string;
|
msg: string;
|
||||||
|
|
|
@ -6,7 +6,7 @@ interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, ExtCtrls,
|
Classes, SysUtils, FileUtil, RTTIGrids, Forms, Controls, Graphics, ExtCtrls,
|
||||||
Menus, ComCtrls, StdCtrls, Buttons, ce_common, ce_widget, ce_interfaces,
|
Menus, ComCtrls, Buttons, ce_common, ce_widget, ce_interfaces,
|
||||||
ce_observer;
|
ce_observer;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
@ -155,12 +155,11 @@ begin
|
||||||
if selCat.Selected = nil then exit;
|
if selCat.Selected = nil then exit;
|
||||||
if selcat.Selected.Data = nil then exit;
|
if selcat.Selected.Data = nil then exit;
|
||||||
//
|
//
|
||||||
|
if inspector.Parent <> nil then
|
||||||
|
inspector.ItemIndex := -1;
|
||||||
PCategoryData(selCat.Selected.Data)^
|
PCategoryData(selCat.Selected.Data)^
|
||||||
.observer
|
.observer
|
||||||
.optionedEvent(oeeCancel);
|
.optionedEvent(oeeCancel);
|
||||||
//
|
|
||||||
// if generic editor then
|
|
||||||
// refresh displayed value since the provider may have updated the options container
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEOptionEditorWidget.btnAcceptClick(Sender: TObject);
|
procedure TCEOptionEditorWidget.btnAcceptClick(Sender: TObject);
|
||||||
|
@ -168,6 +167,8 @@ begin
|
||||||
if selCat.Selected = nil then exit;
|
if selCat.Selected = nil then exit;
|
||||||
if selcat.Selected.Data = nil then exit;
|
if selcat.Selected.Data = nil then exit;
|
||||||
//
|
//
|
||||||
|
if inspector.Parent <> nil then
|
||||||
|
inspector.ItemIndex := -1;
|
||||||
PCategoryData(selCat.Selected.Data)^
|
PCategoryData(selCat.Selected.Data)^
|
||||||
.observer
|
.observer
|
||||||
.optionedEvent(oeeAccept);
|
.optionedEvent(oeeAccept);
|
||||||
|
|
|
@ -6,7 +6,7 @@ interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Menus, Graphics,
|
Classes, SysUtils, FileUtil, TreeFilterEdit, Forms, Controls, Menus, Graphics,
|
||||||
ExtCtrls, LCLProc, ComCtrls, StdCtrls, LMessages, Buttons, LCLType,
|
ExtCtrls, LCLProc, ComCtrls, StdCtrls, Buttons, LCLType,
|
||||||
ce_observer, ce_interfaces, ce_common, ce_writableComponent;
|
ce_observer, ce_interfaces, ce_common, ce_writableComponent;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
@ -41,8 +41,6 @@ type
|
||||||
property item[index: Integer]: TShortcutItem read getShortcut; default;
|
property item[index: Integer]: TShortcutItem read getShortcut; default;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{ TCEShortcutEditor }
|
|
||||||
|
|
||||||
TCEShortcutEditor = class(TFrame, ICEEditableOptions)
|
TCEShortcutEditor = class(TFrame, ICEEditableOptions)
|
||||||
shcCatch: TEdit;
|
shcCatch: TEdit;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
|
@ -189,7 +187,6 @@ end;
|
||||||
|
|
||||||
procedure TCEShortcutEditor.optionedEvent(anEvent: TOptionEditorEvent);
|
procedure TCEShortcutEditor.optionedEvent(anEvent: TOptionEditorEvent);
|
||||||
begin
|
begin
|
||||||
// todo
|
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
|
|
@ -5,9 +5,9 @@ unit ce_todolist;
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, TreeFilterEdit, ListFilterEdit, Forms, Controls,
|
Classes, SysUtils, FileUtil, ListFilterEdit, Forms, Controls,
|
||||||
strutils, Graphics, Dialogs, ExtCtrls, Menus, Buttons, StdCtrls, ComCtrls,
|
strutils, Graphics, Dialogs, ExtCtrls, Menus, Buttons, ComCtrls,
|
||||||
asyncprocess, ce_widget, process, ce_common, ce_interfaces, ce_synmemo,
|
ce_widget, process, ce_common, ce_interfaces, ce_synmemo,
|
||||||
ce_project, ce_symstring;
|
ce_project, ce_symstring;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
|
@ -5,7 +5,7 @@ unit ce_writableComponent;
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, ce_common, typinfo, fpjson, jsonparser, fpjsonrtti, fpjsondataset;
|
Classes, SysUtils, ce_common, typinfo, fpjson, jsonparser, fpjsonrtti;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue