mirror of https://gitlab.com/basile.b/dexed.git
added a tiny editor menu
because using shortcuts is encouraged.
This commit is contained in:
parent
fa06a116ab
commit
fef9cf673f
|
@ -60,4 +60,40 @@ inherited CEEditorWidget: TCEEditorWidget
|
||||||
left = 80
|
left = 80
|
||||||
top = 16
|
top = 16
|
||||||
end
|
end
|
||||||
|
object mnuEditor: TPopupMenu[3]
|
||||||
|
OnPopup = mnuEditorPopup
|
||||||
|
left = 152
|
||||||
|
top = 16
|
||||||
|
object mnuedCopy: TMenuItem
|
||||||
|
Caption = 'Copy'
|
||||||
|
OnClick = mnuedCopyClick
|
||||||
|
end
|
||||||
|
object mnuedCut: TMenuItem
|
||||||
|
Caption = 'Cut'
|
||||||
|
OnClick = mnuedCutClick
|
||||||
|
end
|
||||||
|
object mnuedPaste: TMenuItem
|
||||||
|
Caption = 'Paste'
|
||||||
|
OnClick = mnuedPasteClick
|
||||||
|
end
|
||||||
|
object MenuItem4: TMenuItem
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
object mnuedUndo: TMenuItem
|
||||||
|
Caption = 'Undo'
|
||||||
|
OnClick = mnuedUndoClick
|
||||||
|
end
|
||||||
|
object mnuedRedo: TMenuItem
|
||||||
|
Caption = 'Redo'
|
||||||
|
OnClick = mnuedRedoClick
|
||||||
|
end
|
||||||
|
object MenuItem7: TMenuItem
|
||||||
|
Caption = '-'
|
||||||
|
end
|
||||||
|
object mnuedJum2Decl: TMenuItem
|
||||||
|
Caption = 'Jump to declaration'
|
||||||
|
ShortCut = 24614
|
||||||
|
OnClick = mnuedJum2DeclClick
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -22,9 +22,25 @@ type
|
||||||
{ TCEEditorWidget }
|
{ TCEEditorWidget }
|
||||||
|
|
||||||
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver, ICEMultiDocHandler)
|
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver, ICEMultiDocHandler)
|
||||||
|
mnuedCopy: TMenuItem;
|
||||||
|
mnuedCut: TMenuItem;
|
||||||
|
mnuedPaste: TMenuItem;
|
||||||
|
MenuItem4: TMenuItem;
|
||||||
|
mnuedUndo: TMenuItem;
|
||||||
|
mnuedRedo: TMenuItem;
|
||||||
|
MenuItem7: TMenuItem;
|
||||||
|
mnuedJum2Decl: TMenuItem;
|
||||||
PageControl: TExtendedNotebook;
|
PageControl: TExtendedNotebook;
|
||||||
macRecorder: TSynMacroRecorder;
|
macRecorder: TSynMacroRecorder;
|
||||||
editorStatus: TStatusBar;
|
editorStatus: TStatusBar;
|
||||||
|
mnuEditor: TPopupMenu;
|
||||||
|
procedure mnuedCopyClick(Sender: TObject);
|
||||||
|
procedure mnuedCutClick(Sender: TObject);
|
||||||
|
procedure mnuEditorPopup(Sender: TObject);
|
||||||
|
procedure mnuedPasteClick(Sender: TObject);
|
||||||
|
procedure mnuedUndoClick(Sender: TObject);
|
||||||
|
procedure mnuedRedoClick(Sender: TObject);
|
||||||
|
procedure mnuedJum2DeclClick(Sender: TObject);
|
||||||
procedure PageControlChange(Sender: TObject);
|
procedure PageControlChange(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
procedure updateDelayed; override;
|
procedure updateDelayed; override;
|
||||||
|
@ -77,6 +93,8 @@ end;
|
||||||
|
|
||||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||||
constructor TCEEditorWidget.create(aOwner: TComponent);
|
constructor TCEEditorWidget.create(aOwner: TComponent);
|
||||||
|
var
|
||||||
|
png: TPortableNetworkGraphic;
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
//
|
//
|
||||||
|
@ -86,6 +104,24 @@ begin
|
||||||
PageControl.OnCloseTabClicked := @pageCloseBtnClick;
|
PageControl.OnCloseTabClicked := @pageCloseBtnClick;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
//
|
//
|
||||||
|
png := TPortableNetworkGraphic.Create;
|
||||||
|
try
|
||||||
|
png.LoadFromLazarusResource('copy');
|
||||||
|
mnuedCopy.Bitmap.Assign(png);
|
||||||
|
png.LoadFromLazarusResource('cut');
|
||||||
|
mnuedCut.Bitmap.Assign(png);
|
||||||
|
png.LoadFromLazarusResource('paste');
|
||||||
|
mnuedPaste.Bitmap.Assign(png);
|
||||||
|
png.LoadFromLazarusResource('arrow_undo');
|
||||||
|
mnuedUndo.Bitmap.Assign(png);
|
||||||
|
png.LoadFromLazarusResource('arrow_redo');
|
||||||
|
mnuedRedo.Bitmap.Assign(png);
|
||||||
|
png.LoadFromLazarusResource('arrow_shoe');
|
||||||
|
mnuedJum2Decl.Bitmap.Assign(png);
|
||||||
|
finally
|
||||||
|
png.Free;
|
||||||
|
end;
|
||||||
|
//
|
||||||
EntitiesConnector.addObserver(self);
|
EntitiesConnector.addObserver(self);
|
||||||
EntitiesConnector.addSingleService(self);
|
EntitiesConnector.addSingleService(self);
|
||||||
end;
|
end;
|
||||||
|
@ -230,6 +266,7 @@ begin
|
||||||
if fDoc = nil then exit;
|
if fDoc = nil then exit;
|
||||||
//
|
//
|
||||||
macRecorder.Editor:= fDoc;
|
macRecorder.Editor:= fDoc;
|
||||||
|
fDoc.PopupMenu := mnuEditor;
|
||||||
if (pageControl.ActivePage.Caption = '') then
|
if (pageControl.ActivePage.Caption = '') then
|
||||||
begin
|
begin
|
||||||
fKeyChanged := true;
|
fKeyChanged := true;
|
||||||
|
@ -365,4 +402,53 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
|
{$REGION Editor context menu ---------------------------------------------------}
|
||||||
|
procedure TCEEditorWidget.mnuedCopyClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
fDoc.ExecuteCommand(ecCopy, '', nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuedCutClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
fDoc.ExecuteCommand(ecCut, '', nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuedPasteClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
fDoc.ExecuteCommand(ecPaste, '', nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuedUndoClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
fDoc.ExecuteCommand(ecUndo, '', nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuedRedoClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
fDoc.ExecuteCommand(ecRedo, '', nil);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuedJum2DeclClick(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
getSymbolLoc;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.mnuEditorPopup(Sender: TObject);
|
||||||
|
begin
|
||||||
|
if fDoc = nil then exit;
|
||||||
|
//
|
||||||
|
mnuedCut.Enabled:=fDOc.SelAvail;
|
||||||
|
mnuedPaste.Enabled:=fDoc.CanPaste;
|
||||||
|
mnuedCopy.Enabled:=fDoc.SelAvail;
|
||||||
|
mnuedUndo.Enabled:=fDoc.CanUndo;
|
||||||
|
mnuedRedo.Enabled:=fDoc.CanRedo;
|
||||||
|
mnuedJum2Decl.Enabled:=fDoc.isDSource;
|
||||||
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
end.
|
end.
|
||||||
|
|
Loading…
Reference in New Issue