【delphi开源代码栏目提醒】:网学会员,鉴于大家对delphi开源代码十分关注,论文会员在此为大家搜集整理了“BaseBindings.pas”一文,供大家参考学习!
unit BaseBindings;
interface
uses SysUtils, Classes, ToolsAPI;
const
kfImplicits = kfImplicitShift or kfImplicitModifier or kfImplicitKeypad;
type
TBaseBindings = class(TNotifierObject, IUnknown, IOTANotifier)
protected
{ Utility functions }
function MarkWord(const Context: IOTAKeyContext): IOTAEditBlock;
procedure SlideBlock(const Context: IOTAKeyContext; Backward: Boolean);
{ Default binding implementations }
procedure AddWatchAtCursor(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure AutoCodeInsight(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure BrowseSymbolAtCursor(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure BlockSave(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClassNavigate(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClassComplete(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClipClear(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClipCopy(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClipCut(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ClipPaste(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure CodeTemplate(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure CodeCompletion(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure DebugInspect(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure GotoLine(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure HelpKeyword(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure IncrementalSearch(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure InsertCompilerOptions(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure InsertNewGUID(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure NullCmd(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure OpenFileAtCursor(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure OpenLine(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure Print(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure SetBlockStyle(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure SearchAgain(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure SearchFind(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure SearchReplace(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure SwapCPPHeader(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
procedure ViewExplorer(const Context: IOTAKeyContext; KeyCode: TShortcut;
var BindingResult: TKeyBindingResult);
end;
resourcestring
sNoBlockMarked = 'No block marked';
implementation
{ TBaseBindings }
procedure TBaseBindings.AddWatchAtCursor(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBuffer.TopView as IOTAEditActions).AddWatchAtCursor;
BindingResult := krHandled;
end;
procedure TBaseBindings.AutoCodeInsight(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
var
EP: IOTAEditPosition;
EA: IOTAEditActions;
AChar: Char;
begin
EP := Context.EditBuffer.EditPosition;
EA := Context.EditBuffer.TopView as IOTAEditActions;
AChar := Char(Byte(Context.Context));
EP.InsertCharacter(AChar);
case AChar of
'.', '>': EA.CodeCompletion(csCodeList);
'(': EA.CodeCompletion(csParamList);
end;
BindingResult := krHandled;
end;
procedure TBaseBindings.BlockSave(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
Context.EditBuffer.EditBlock.SaveToFile('');
BindingResult := krHandled;
end;
procedure TBaseBindings.BrowseSymbolAtCursor(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBuffer.TopView as IOTAEditActions).BrowseSymbolAtCursor;
BindingResult := krHandled;
end;
procedure TBaseBindings.ClassComplete(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBuffer.TopView as IOTAEditActions).ClassComplete;
BindingResult := krHandled;
end;
procedure TBaseBindings.ClassNavigate(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBuffer.TopView as IOTAEditActions).ClassNavigate(0);
BindingResult := krHandled;
end;
procedure TBaseBindings.ClipClear(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
Context.EditBuffer.EditBlock.Delete;
BindingResult := krHandled;
end;
procedure TBaseBindings.ClipCopy(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
Context.EditBuffer.EditBlock.Copy(False);
BindingResult := krHandled;
end;
procedure TBaseBindings.ClipCut(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
Context.EditBuffer.EditBlock.Cut(False);
BindingResult := krHandled;
end;
procedure TBaseBindings.ClipPaste(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
Context.EditBuffer.EditPosition.Paste;
BindingResult := krHandled;
end;
procedure TBaseBindings.CodeCompletion(const Context: IOTAKeyContext;
KeyCode: TShortcut; var BindingResult: TKeyBindingResult);
begin
(Context.EditBu
上一篇:
Base.pas
下一篇:
中小企业财务战略选择的探讨