Merge pull request #2 from BBasile/Coedit/master

Coedit/master
This commit is contained in:
Basile Burg 2014-12-03 03:28:33 +01:00
commit e4b6c29bd2
2 changed files with 28 additions and 9 deletions

View File

@ -234,6 +234,7 @@ begin
if src_t.rangeKinds <> rangeKinds then exit(1);
if src_t.nestedCommentsCount <> nestedCommentsCount then exit(1);
if src_t.tokenStringBracketsCount <> tokenStringBracketsCount then exit(1);
if src_t.rString <> rString then exit(1);
exit(0);
end;
end;
@ -244,6 +245,7 @@ begin
nestedCommentsCount := 0;
tokenStringBracketsCount := 0;
rangeKinds := [];
rString := false;
end;
procedure TSynD2SynRange.copyFrom(aSource: TSynD2SynRange);
@ -253,6 +255,7 @@ begin
rangeKinds := aSource.rangeKinds;
primaryRange := aSource.primaryRange;
secondaryRange := aSource.secondaryRange;
rString := aSource.rString;
end;
constructor TSynD2Syn.create(aOwner: TComponent);
@ -566,6 +569,7 @@ begin
fCurrRange.rString := reader^ = 'r';
if not (readerNext^ = '"') then
begin
fCurrRange.rString := false;
readerPrev;
goto _postString1;
end;

View File

@ -6,7 +6,7 @@ interface
uses
Classes, SysUtils, TreeFilterEdit, Forms, Controls, Graphics, ExtCtrls, Menus,
ComCtrls, ce_widget, jsonparser, fpjson, process, actnlist, Buttons,
ComCtrls, ce_widget, jsonparser, fpjson, process, actnlist, Buttons, Clipbrd,
ce_common, ce_project, ce_observer, ce_synmemo, ce_interfaces;
type
@ -25,6 +25,7 @@ type
private
fDmdProc: TCheckedAsyncProcess;
fLogMessager: TCELogMessageSubject;
fActCopyIdent: TAction;
fActRefresh: TAction;
fActRefreshOnChange: TAction;
fActRefreshOnFocus: TAction;
@ -43,6 +44,7 @@ type
procedure actAutoRefreshExecute(Sender: TObject);
procedure actRefreshOnChangeExecute(Sender: TObject);
procedure actRefreshOnFocusExecute(Sender: TObject);
procedure actCopyIdentExecute(Sender: TObject);
procedure updateVisibleCat;
//
procedure produceJsonInfo;
@ -93,6 +95,10 @@ begin
fAutoRefresh := false;
fRefreshOnFocus := true;
fRefreshOnChange := false;
fActCopyIdent := TAction.Create(self);
fActCopyIdent.OnExecute:=@actCopyIdentExecute;
fActCopyIdent.Caption := 'Copy identifer';
fActRefresh := TAction.Create(self);
fActRefresh.OnExecute := @actRefreshExecute;
fActRefresh.Caption := 'Refresh';
@ -196,17 +202,18 @@ end;
function TCEStaticExplorerWidget.contextActionCount: integer;
begin
result := 5;
result := 6;
end;
function TCEStaticExplorerWidget.contextAction(index: integer): TAction;
begin
case index of
0: exit(fActSelectInSource);
1: exit(fActRefresh);
2: exit(fActAutoRefresh);
3: exit(fActRefreshOnChange);
4: exit(fActRefreshOnFocus);
1: exit(fActCopyIdent);
2: exit(fActRefresh);
3: exit(fActAutoRefresh);
4: exit(fActRefreshOnChange);
5: exit(fActRefreshOnFocus);
else result := nil;
end;
end;
@ -231,6 +238,13 @@ procedure TCEStaticExplorerWidget.actRefreshOnFocusExecute(Sender: TObject);
begin
refreshOnFocus := not refreshOnFocus;
end;
procedure TCEStaticExplorerWidget.actCopyIdentExecute(Sender: TObject);
begin
if Tree.Selected = nil then exit;
Clipboard.AsText:= Tree.Selected.Text;
end;
{$ENDREGION}
{$REGION ICEMultiDocObserver ---------------------------------------------------}
@ -482,10 +496,11 @@ begin
case knd of
'alias' :ndCat := Tree.Items.AddChildObject(ndAlias, nme, ln);
'class' :ndCat := Tree.Items.AddChildObject(ndClass, nme, ln);
'enum' :ndCat := Tree.Items.AddChildObject(ndEnum, nme, ln);
'enum', 'enum member'
:ndCat := Tree.Items.AddChildObject(ndEnum, nme, ln);
'function' :ndCat := Tree.Items.AddChildObject(ndFunc, nme, ln);
'import', 'static import':
ndCat := Tree.Items.AddChildObject(ndImp, nme, ln);
'import', 'static import'
:ndCat := Tree.Items.AddChildObject(ndImp, nme, ln);
'interface' :ndCat := Tree.Items.AddChildObject(ndIntf, nme, ln);
'mixin' :ndCat := Tree.Items.AddChildObject(ndMix, nme, ln);
'struct' :ndCat := Tree.Items.AddChildObject(ndStruct, nme, ln);