procinput widget, input MRU is saved between cessions

This commit is contained in:
Basile Burg 2014-11-27 21:22:24 +01:00
parent 150fed8772
commit 1d1362535c
1 changed files with 28 additions and 3 deletions

View File

@ -6,11 +6,9 @@ interface
uses uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls, Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
Menus, StdCtrls, ce_widget, process, ce_common; Menus, StdCtrls, ce_widget, process, ce_common, ce_interfaces;
type type
{ TCEProcInputWidget }
TCEProcInputWidget = class(TCEWidget) TCEProcInputWidget = class(TCEWidget)
btnSend: TButton; btnSend: TButton;
txtInp: TEdit; txtInp: TEdit;
@ -23,9 +21,14 @@ type
fProc: TProcess; fProc: TProcess;
procedure sendInput; procedure sendInput;
procedure setProc(const aValue: TProcess); procedure setProc(const aValue: TProcess);
//
procedure optset_InputMru(aReader: TReader);
procedure optget_InputMru(aWriter: TWriter);
public public
constructor create(aOwner: TComponent); override; constructor create(aOwner: TComponent); override;
destructor destroy; override; destructor destroy; override;
//
procedure sesoptDeclareProperties(aFiler: TFiler); override;
property process: TProcess read fProc write setProc; property process: TProcess read fProc write setProc;
end; end;
@ -35,6 +38,7 @@ implementation
uses uses
ce_symstring, LCLType; ce_symstring, LCLType;
{$REGION Standard Comp/Obj -----------------------------------------------------}
constructor TCEProcInputWidget.create(aOwner: TComponent); constructor TCEProcInputWidget.create(aOwner: TComponent);
begin begin
inherited; inherited;
@ -47,7 +51,27 @@ begin
fMru.Free; fMru.Free;
inherited; inherited;
end; end;
{$ENDREGION --------------------------------------------------------------------}
{$REGION ICESessionOptionsObserver ---------------------------------------------}
procedure TCEProcInputWidget.sesoptDeclareProperties(aFiler: TFiler);
begin
inherited;
aFiler.DefineProperty(Name + 'InputMru', @optset_InputMru, @optget_InputMru, true);
end;
procedure TCEProcInputWidget.optset_InputMru(aReader: TReader);
begin
fMru.DelimitedText := aReader.ReadString;
end;
procedure TCEProcInputWidget.optget_InputMru(aWriter: TWriter);
begin
aWriter.WriteString(fMru.DelimitedText);
end;
{$ENDREGION --------------------------------------------------------------------}
{$REGION Process input things --------------------------------------------------}
procedure TCEProcInputWidget.setProc(const aValue: TProcess); procedure TCEProcInputWidget.setProc(const aValue: TProcess);
begin begin
txtExeName.Caption := 'no process'; txtExeName.Caption := 'no process';
@ -99,5 +123,6 @@ begin
end; end;
end; end;
end; end;
{$ENDREGION --------------------------------------------------------------------}
end. end.