Merge branch 'a12_2_a13'

This commit is contained in:
Basile Burg 2015-02-22 12:49:57 +01:00
commit ba0019e62a
8 changed files with 160 additions and 87 deletions

View File

@ -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>

View File

@ -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,

View File

@ -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'

View File

@ -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;

View File

@ -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);

View File

@ -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}

View File

@ -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

View File

@ -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