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
|
||||
top = 16
|
||||
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
|
||||
|
|
|
@ -22,9 +22,25 @@ type
|
|||
{ TCEEditorWidget }
|
||||
|
||||
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver, ICEMultiDocHandler)
|
||||
mnuedCopy: TMenuItem;
|
||||
mnuedCut: TMenuItem;
|
||||
mnuedPaste: TMenuItem;
|
||||
MenuItem4: TMenuItem;
|
||||
mnuedUndo: TMenuItem;
|
||||
mnuedRedo: TMenuItem;
|
||||
MenuItem7: TMenuItem;
|
||||
mnuedJum2Decl: TMenuItem;
|
||||
PageControl: TExtendedNotebook;
|
||||
macRecorder: TSynMacroRecorder;
|
||||
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);
|
||||
protected
|
||||
procedure updateDelayed; override;
|
||||
|
@ -77,6 +93,8 @@ end;
|
|||
|
||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||
constructor TCEEditorWidget.create(aOwner: TComponent);
|
||||
var
|
||||
png: TPortableNetworkGraphic;
|
||||
begin
|
||||
inherited;
|
||||
//
|
||||
|
@ -86,6 +104,24 @@ begin
|
|||
PageControl.OnCloseTabClicked := @pageCloseBtnClick;
|
||||
{$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.addSingleService(self);
|
||||
end;
|
||||
|
@ -230,6 +266,7 @@ begin
|
|||
if fDoc = nil then exit;
|
||||
//
|
||||
macRecorder.Editor:= fDoc;
|
||||
fDoc.PopupMenu := mnuEditor;
|
||||
if (pageControl.ActivePage.Caption = '') then
|
||||
begin
|
||||
fKeyChanged := true;
|
||||
|
@ -365,4 +402,53 @@ begin
|
|||
end;
|
||||
{$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.
|
||||
|
|
Loading…
Reference in New Issue