MG: renamed designerstr.pas to objinspstrconsts.pas

git-svn-id: trunk@3351 -
This commit is contained in:
lazarus 2002-09-16 14:46:05 +00:00
parent c10b07e7b0
commit 093d68ba1a
7 changed files with 271 additions and 208 deletions

1
.gitattributes vendored
View File

@ -113,7 +113,6 @@ designer/customeditor.pp svneol=native#text/pascal
designer/designer.pp svneol=native#text/pascal designer/designer.pp svneol=native#text/pascal
designer/designermenu.pp svneol=native#text/pascal designer/designermenu.pp svneol=native#text/pascal
designer/designerprocs.pas svneol=native#text/pascal designer/designerprocs.pas svneol=native#text/pascal
designer/designerstr.pas svneol=native#text/pascal
designer/filesystem.pp svneol=native#text/pascal designer/filesystem.pp svneol=native#text/pascal
designer/graphpropedits.pas svneol=native#text/pascal designer/graphpropedits.pas svneol=native#text/pascal
designer/jitforms.pp svneol=native#text/pascal designer/jitforms.pp svneol=native#text/pascal

View File

@ -33,7 +33,7 @@
- Get and Set property access parameter lists - Get and Set property access parameter lists
- predefined funcs Pred, Succ, Val, Low, High - predefined funcs Pred, Succ, Val, Low, High
- find declaration in dead code - find declaration in dead code
- make @Proc context sensitive - make @Proc context sensitive (started but not complete)
- operator overloading - operator overloading
- ppu, ppw, dcu files - ppu, ppw, dcu files
} }
@ -73,55 +73,114 @@ type
TFindDeclarationTool = class; TFindDeclarationTool = class;
TVariableAtomType = ( TVariableAtomType = (
vatNone, vatSpace, vatIdentifier, vatPreDefIdentifier, vatPoint, vatAS, vatNone, // undefined
vatINHERITED, vatUp, vatRoundBracketOpen, vatRoundBracketClose, vatSpace, // empty or space
vatEdgedBracketOpen, vatEdgedBracketClose, vatAddrOp); vatIdentifier, // an identifier
vatPreDefIdentifier, // an identifier with special meaning to the compiler
vatPoint, // .
vatAS, // AS keyword
vatINHERITED, // INHERITED keyword
vatUp, // ^
vatRoundBracketOpen, // (
vatRoundBracketClose,// )
vatEdgedBracketOpen, // [
vatEdgedBracketClose,// ]
vatAddrOp // @
);
const const
// for nicer output
VariableAtomTypeNames: array[TVariableAtomType] of string = VariableAtomTypeNames: array[TVariableAtomType] of string =
('<None>','Space','Ident','PreDefIdent','Point','AS','INHERITED','Up^ ', ('<None>',
'Bracket(','Bracket)','Bracket[','Bracket]', 'AddrOperator@ '); 'Space',
'Ident',
'PreDefIdent',
'Point',
'AS',
'INHERITED',
'Up^ ',
'Bracket(',
'Bracket)',
'Bracket[',
'Bracket]',
'AddrOperator@ '
);
type type
// searchpath delimiter is semicolon // searchpath delimiter is semicolon
TOnGetSearchPath = function(Sender: TObject): string of object; TOnGetSearchPath = function(Sender: TObject): string of object;
TOnGetCodeToolForBuffer = function(Sender: TObject; TOnGetCodeToolForBuffer = function(Sender: TObject;
Code: TCodeBuffer): TFindDeclarationTool of object; Code: TCodeBuffer): TFindDeclarationTool of object;
// flags/states for searching
TFindDeclarationFlag = ( TFindDeclarationFlag = (
fdfSearchInParentNodes, // if identifier not found in current context,
// proceed in prior nodes on same lvl and parents
fdfSearchInAncestors, // if context is a class, search also in fdfSearchInAncestors, // if context is a class, search also in
// ancestors/interfaces // ancestors/interfaces
fdfSearchInParentNodes, // if identifier not found in current context,
// proceed in prior nodes on same lvl and parents
fdfIgnoreCurContextNode,// skip context and proceed in prior/parent context fdfIgnoreCurContextNode,// skip context and proceed in prior/parent context
fdfIgnoreUsedUnits, // stay in current source
fdfSearchForward, // instead of searching in prior nodes, search in
// next nodes (successors)
fdfExceptionOnNotFound, // raise exception if identifier not found fdfExceptionOnNotFound, // raise exception if identifier not found
// predefined identifiers will not raise // predefined identifiers will not raise
fdfExceptionOnPredefinedIdent,// raise an exception even if the identifier fdfExceptionOnPredefinedIdent,// raise an exception even if the identifier
// is an predefined exception // is an predefined exception
fdfIgnoreUsedUnits, // stay in current source
fdfSearchForward, // instead of searching in prior nodes, search in
// next nodes (successors)
fdfIgnoreClassVisibility,//find inaccessible private+protected fields fdfIgnoreClassVisibility,//find inaccessible private+protected fields
fdfClassPublished, fdfClassPublished,
fdfClassPublic, fdfClassPublic,
fdfClassProtected, fdfClassProtected,
fdfClassPrivate, fdfClassPrivate,
fdfIgnoreMissingParams, // found proc fits, even if parameters are missing fdfIgnoreMissingParams, // found proc fits, even if parameters are missing
fdfOnlyCompatibleProc, // incompatible procs are ignored fdfOnlyCompatibleProc, // incompatible procs are ignored
fdfFunctionResult, // if function is found, return result type
fdfIgnoreOverloadedProcs,// ignore param lists and take the first proc found fdfIgnoreOverloadedProcs,// ignore param lists and take the first proc found
fdfFindVariable, // do not search for the base type of a variable, fdfFindVariable, // do not search for the base type of a variable,
// instead return the variable declaration // instead return the variable declaration
fdfFunctionResult, // if function is found, return result type
fdfCollect, // return every reachable identifier fdfCollect, // return every reachable identifier
fdfTopLvlResolving // set, when searching for an identifier of the fdfTopLvlResolving // set, when searching for an identifier of the
// top lvl variable // top lvl variable
); );
TFindDeclarationFlags = set of TFindDeclarationFlag; TFindDeclarationFlags = set of TFindDeclarationFlag;
const
// for nicer output
FindDeclarationFlagNames: array[TFindDeclarationFlag] of string = (
'fdfSearchInAncestors',
'fdfSearchInParentNodes',
'fdfIgnoreCurContextNode',
'fdfIgnoreUsedUnits',
'fdfSearchForward',
'fdfExceptionOnNotFound',
'fdfExceptionOnPredefinedIdent',
'fdfIgnoreClassVisibility',
'fdfClassPublished',
'fdfClassPublic',
'fdfClassProtected',
'fdfClassPrivate',
'fdfIgnoreMissingParams',
'fdfOnlyCompatibleProc',
'fdfIgnoreOverloadedProcs',
'fdfFindVariable',
'fdfFunctionResult',
'fdfCollect',
'fdfTopLvlResolving'
);
type
// flags/states for result
TFoundDeclarationFlag = ( TFoundDeclarationFlag = (
fdfDoNotCache fdfDoNotCache
); );
TFoundDeclarationFlags = set of TFoundDeclarationFlag; TFoundDeclarationFlags = set of TFoundDeclarationFlag;
TFindDeclarationParams = class; TFindDeclarationParams = class;
TFindContext = record TFindContext = record
@ -137,11 +196,38 @@ type
The Freepascal compiler can automatically convert them The Freepascal compiler can automatically convert them
} }
TExpressionTypeDesc = ( TExpressionTypeDesc = (
xtNone, xtContext, xtChar, xtReal, xtSingle, xtDouble, xtNone, // undefined
xtExtended, xtCurrency, xtComp, xtInt64, xtCardinal, xtQWord, xtBoolean, xtContext, // a node
xtByteBool, xtLongBool, xtString, xtAnsiString, xtShortString, xtWideString, xtChar, // char
xtPChar, xtPointer, xtFile, xtText, xtConstOrdInteger, xtConstString, xtReal, // real
xtConstReal, xtConstSet, xtConstBoolean, xtLongInt, xtWord, xtNil); xtSingle, // single
xtDouble, // double
xtExtended, // extended
xtCurrency, // currency
xtComp, // comp
xtInt64, // int64
xtCardinal, // cardinal
xtQWord, // qword
xtBoolean, // boolean
xtByteBool, // bytebool
xtLongBool, // longbool
xtString, // string
xtAnsiString,// ansistring
xtShortString,// shortstring
xtWideString,// widestring
xtPChar, // pchar
xtPointer, // pointer
xtFile, // file
xtText, // text
xtConstOrdInteger,// enums, number, integer
xtConstString,// string, string constant, char constant
xtConstReal, // real number
xtConstSet, // [] set
xtConstBoolean,// true, false
xtLongint, // longint
xtWord, // word
xtNil // nil = pointer, class, procedure, method, ...
);
TExpressionTypeDescs = set of TExpressionTypeDesc; TExpressionTypeDescs = set of TExpressionTypeDesc;
const const
@ -155,7 +241,7 @@ const
xtAllTypes = [Low(TExpressionTypeDesc)..High(TExpressionTypeDesc)]-[xtNone]; xtAllTypes = [Low(TExpressionTypeDesc)..High(TExpressionTypeDesc)]-[xtNone];
xtAllPredefinedTypes = xtAllTypes-[xtContext]; xtAllPredefinedTypes = xtAllTypes-[xtContext];
xtAllIntegerTypes = [xtInt64, xtQWord, xtConstOrdInteger, xtLongInt, xtWord]; xtAllIntegerTypes = [xtInt64, xtQWord, xtConstOrdInteger, xtLongint, xtWord];
xtAllBooleanTypes = [xtBoolean, xtByteBool, xtLongBool]; xtAllBooleanTypes = [xtBoolean, xtByteBool, xtLongBool];
xtAllRealTypes = [xtReal, xtConstReal, xtSingle, xtDouble, xtExtended, xtAllRealTypes = [xtReal, xtConstReal, xtSingle, xtDouble, xtExtended,
xtCurrency, xtComp]; xtCurrency, xtComp];
@ -196,7 +282,7 @@ type
const const
TypeCompatibilityNames: array[TTypeCompatibility] of string = ( TypeCompatibilityNames: array[TTypeCompatibility] of string = (
'Exact', 'Exact',
'Compatible', // convertable, but not usable for var params 'Compatible', // convertable, but not allowed for var params
'Incompatible' 'Incompatible'
); );
@ -292,6 +378,9 @@ type
procedure ClearInput; procedure ClearInput;
procedure ClearFoundProc; procedure ClearFoundProc;
end; end;
{ TFindDeclarationTool }
TFindDeclarationTool = class(TPascalParserTool) TFindDeclarationTool = class(TPascalParserTool)
private private
@ -448,28 +537,6 @@ const
fdfDefaultForExpressions = [fdfSearchInParentNodes, fdfSearchInAncestors, fdfDefaultForExpressions = [fdfSearchInParentNodes, fdfSearchInAncestors,
fdfExceptionOnNotFound]+fdfAllClassVisibilities; fdfExceptionOnNotFound]+fdfAllClassVisibilities;
FindDeclarationFlagNames: array[TFindDeclarationFlag] of string = (
'fdfSearchInParentNodes',
'fdfSearchInAncestors',
'fdfIgnoreCurContextNode',
'fdfExceptionOnNotFound',
'fdfExceptionOnPredefinedIdent',
'fdfIgnoreUsedUnits',
'fdfSearchForward',
'fdfIgnoreClassVisibility',
'fdfClassPublished',
'fdfClassPublic',
'fdfClassProtected',
'fdfClassPrivate',
'fdfIgnoreMissingParams',
'fdfOnlyCompatibleProc',
'fdfFunctionResult',
'fdfIgnoreOverloadedProcs',
'fdfFindVariable',
'fdfCollect',
'fdfTopLvlResolving'
);
function ExprTypeToString(ExprType: TExpressionType): string; function ExprTypeToString(ExprType: TExpressionType): string;
function CreateFindContext(NewTool: TFindDeclarationTool; function CreateFindContext(NewTool: TFindDeclarationTool;
NewNode: TCodeTreeNode): TFindContext; NewNode: TCodeTreeNode): TFindContext;

View File

@ -1,15 +0,0 @@
unit DesignerStr;
{$mode objfpc}{$H+}
interface
resourcestring
// component editors commands
liscAdd = '&Add';
liscDelete = '&Delete';
implementation
end.

View File

@ -51,7 +51,8 @@ uses
{$else} {$else}
mwCustomEdit, mwPasSyn, mwHighlighter, mwCustomEdit, mwPasSyn, mwHighlighter,
{$endif} {$endif}
Laz_XMLCfg, CodeTemplateDialog, KeyMapping, InputHistory, IDEOptionDefs, LazarusIDEStrConsts; Laz_XMLCfg, CodeTemplateDialog, KeyMapping, InputHistory, IDEOptionDefs,
LazarusIDEStrConsts;
type type
{$ifdef NEW_EDITOR_SYNEDIT} {$ifdef NEW_EDITOR_SYNEDIT}
@ -72,7 +73,8 @@ type
lshCPP, lshPerl); lshCPP, lshPerl);
TAdditionalHilightAttribute = (ahaNone, ahaTextBlock, ahaExecutionPoint, TAdditionalHilightAttribute = (ahaNone, ahaTextBlock, ahaExecutionPoint,
ahaEnabledBreakpoint, ahaDisabledBreakpoint, ahaInvalidBreakpoint, ahaErrorLine); ahaEnabledBreakpoint, ahaDisabledBreakpoint, ahaInvalidBreakpoint,
ahaErrorLine);
const const
EditorOptsFormatVersion = 2; EditorOptsFormatVersion = 2;
@ -2895,7 +2897,7 @@ function TEditorOptionsForm.KeyMappingRelationToString(
var s:AnsiString; var s:AnsiString;
begin begin
with KeyRelation do begin with KeyRelation do begin
Result:=copy(Name,1,37); Result:=copy(EditorCommandLocalizedName(Command,Name),1,37);
if length(Result)<37 then begin if length(Result)<37 then begin
SetLength(s,(37-length(Result))); SetLength(s,(37-length(Result)));
FillChar(s[1],length(s),' '); FillChar(s[1],length(s),' ');

View File

@ -329,6 +329,7 @@ procedure TLazFindReplaceDialog.TextToFindComboBoxKeyDown(
Sender: TObject; var Key:Word; Shift:TShiftState); Sender: TObject; var Key:Word; Shift:TShiftState);
var Component: TFindDlgComponent; var Component: TFindDlgComponent;
begin begin
//writeln('TLazFindReplaceDialog.TextToFindComboBoxKeyDown Key=',Key);
if (Key=VK_RETURN) then if (Key=VK_RETURN) then
OkButtonClick(Sender) OkButtonClick(Sender)
else if (Key=VK_ESCAPE) then else if (Key=VK_ESCAPE) then

View File

@ -299,6 +299,8 @@ function ShowKeyMappingEditForm(Index:integer;
function KeyStrokesConsistencyErrors(ASynEditKeyStrokes:TSynEditKeyStrokes; function KeyStrokesConsistencyErrors(ASynEditKeyStrokes:TSynEditKeyStrokes;
Protocol: TStrings; var Index1,Index2:integer):integer; Protocol: TStrings; var Index1,Index2:integer):integer;
function EditorCommandToDescriptionString(cmd: word):AnsiString; function EditorCommandToDescriptionString(cmd: word):AnsiString;
function EditorCommandLocalizedName(cmd: word;
const DefaultName: string): string;
function StrToVKCode(const s: string): integer; function StrToVKCode(const s: string): integer;
var KeyMappingEditForm: TKeyMappingEditForm; var KeyMappingEditForm: TKeyMappingEditForm;
@ -316,6 +318,11 @@ const
VirtualKeyStrings: TStringHashList = nil; VirtualKeyStrings: TStringHashList = nil;
function EditorCommandLocalizedName(cmd: word;
const DefaultName: string): string;
begin
Result:=DefaultName;
end;
function StrToVKCode(const s: string): integer; function StrToVKCode(const s: string): integer;
var var
@ -747,14 +754,14 @@ var
VK_LWIN :AddStr('left windows key'); VK_LWIN :AddStr('left windows key');
VK_RWIN :AddStr('right windows key'); VK_RWIN :AddStr('right windows key');
VK_APPS :AddStr('application key'); VK_APPS :AddStr('application key');
VK_NUMPAD0..VK_NUMPAD9:AddStr('Numpad '+IntToStr(Key-VK_NUMPAD0)); VK_NUMPAD0..VK_NUMPAD9: begin AddStr('Numpad ');AddStr(IntToStr(Key-VK_NUMPAD0)); end;
VK_MULTIPLY :AddStr('*'); VK_MULTIPLY :AddStr('*');
VK_ADD :AddStr('+'); VK_ADD :AddStr('+');
VK_SEPARATOR :AddStr('|'); VK_SEPARATOR :AddStr('|');
VK_SUBTRACT :AddStr('-'); VK_SUBTRACT :AddStr('-');
VK_DECIMAL :AddStr('.'); VK_DECIMAL :AddStr('.');
VK_DIVIDE :AddStr('/'); VK_DIVIDE :AddStr('/');
VK_F1..VK_F24 :AddStr('F'+IntToStr(Key-VK_F1+1)); VK_F1..VK_F24 :begin AddStr('F'); AddStr(IntToStr(Key-VK_F1+1)); end;
VK_NUMLOCK :AddStr('Numlock'); VK_NUMLOCK :AddStr('Numlock');
VK_SCROLL :AddStr('Scroll'); VK_SCROLL :AddStr('Scroll');
VK_EQUAL :AddStr('='); VK_EQUAL :AddStr('=');
@ -1025,10 +1032,7 @@ begin
ACaption:='No No No'; ACaption:='No No No';
AText:=' The key "'+KeyAndShiftStateToStr(NewKey1,NewShiftState1)+'"' AText:=' The key "'+KeyAndShiftStateToStr(NewKey1,NewShiftState1)+'"'
+' is already connected to "'+DummyRelation.Name+'".'; +' is already connected to "'+DummyRelation.Name+'".';
// Application.MessageBox(PChar(AText),PChar(ACaption),0);
MessageDlg(ACaption,AText,mterror,[mbok],0); MessageDlg(ACaption,AText,mterror,[mbok],0);
exit; exit;
end; end;
NewKey2:=StrToVKCode(Key2KeyComboBox.Text); NewKey2:=StrToVKCode(Key2KeyComboBox.Text);

View File

@ -27,6 +27,10 @@
* * * *
*************************************************************************** ***************************************************************************
} }
{
Note: All resource strings should be prefixed with 'lis'
}
unit LazarusIDEStrConsts; unit LazarusIDEStrConsts;
{$mode objfpc}{$H+} {$mode objfpc}{$H+}
@ -282,149 +286,150 @@ resourcestring
//palletes, for example 'ðÒÉÍÅÒÙ' and 'Samples' //palletes, for example 'ðÒÉÍÅÒÙ' and 'Samples'
ideDataAccess = 'Data Access'; ideDataAccess = 'Data Access';
ideInterbase = 'Interbase Data Access'; ideInterbase = 'Interbase Data Access';
//Environment dialogue
dlgEnvOpts = 'Environment Options'; //Environment dialog
dlgDesktop = 'Desktop'; dlgEnvOpts = 'Environment Options';
dlgFrmEditor = 'Form Editor'; dlgDesktop = 'Desktop';
dlgObjInsp = 'Object Inspector'; dlgFrmEditor = 'Form Editor';
dlgEnvFiles = 'Files'; dlgObjInsp = 'Object Inspector';
dlgEnvBckup = 'Backup'; dlgEnvFiles = 'Files';
dlgNaming = 'Naming'; dlgEnvBckup = 'Backup';
dlgCancel = 'Cancel'; dlgNaming = 'Naming';
dlgEnvLanguage = 'Language'; dlgCancel = 'Cancel';
dlgAutoSave = 'Auto save'; dlgEnvLanguage = 'Language';
dlgEdFiles = 'Editor files'; dlgAutoSave = 'Auto save';
dlgEnvProject = 'Project'; dlgEdFiles = 'Editor files';
dlgIntvInSec = 'Interval in secs'; dlgEnvProject = 'Project';
dlgDesktopFiles = 'Desktop files'; dlgIntvInSec = 'Interval in secs';
dlgSaveDFile = 'Save desktop settings to file'; dlgDesktopFiles = 'Desktop files';
dlgLoadDFile = 'Load desktop settings from file'; dlgSaveDFile = 'Save desktop settings to file';
dlgPalHints = 'Hints for component palette'; dlgLoadDFile = 'Load desktop settings from file';
dlgSpBHints = 'Hints for main speed buttons (open, save, ...)'; dlgPalHints = 'Hints for component palette';
dlgWinPos = 'Window Positions'; dlgSpBHints = 'Hints for main speed buttons (open, save, ...)';
dlgMainMenu = 'Main Menu'; dlgWinPos = 'Window Positions';
dlgSrcEdit = 'Source Editor'; dlgMainMenu = 'Main Menu';
dlgMsgs = 'Messages'; dlgSrcEdit = 'Source Editor';
dlgProjFiles = 'Project files'; dlgMsgs = 'Messages';
dlgEnvType = 'Type'; dlgProjFiles = 'Project files';
dlgEnvNone = 'None'; dlgEnvType = 'Type';
dlgSmbFront = 'Symbol in front (.~pp)'; dlgEnvNone = 'None';
dlgSmbBehind = 'Symbol behind (.pp~)'; dlgSmbFront = 'Symbol in front (.~pp)';
dlgSmbCounter = 'Counter (.pp;1)'; dlgSmbBehind = 'Symbol behind (.pp~)';
dlgCustomExt = 'User defined extension (.pp.xxx)'; dlgSmbCounter = 'Counter (.pp;1)';
dlgBckUpSubDir = 'Same name (in subdirectory)'; dlgCustomExt = 'User defined extension (.pp.xxx)';
dlgEdCustomExt = 'User defined extension'; dlgBckUpSubDir = 'Same name (in subdirectory)';
dlgMaxCntr = 'Maximum counter'; dlgEdCustomExt = 'User defined extension';
dlgEdBSubDir = 'Sub directory'; dlgMaxCntr = 'Maximum counter';
dlgEnvOtherFiles = 'Other files'; dlgEdBSubDir = 'Sub directory';
dlgMaxRecentFiles = 'Max recent files'; dlgEnvOtherFiles = 'Other files';
dlgMaxRecentProjs = 'Max recent project files'; dlgMaxRecentFiles = 'Max recent files';
dlgQOpenLastPrj = 'Open last project at start'; dlgMaxRecentProjs = 'Max recent project files';
dlgLazarusDir = 'Lazarus directory (default for all projects)'; dlgQOpenLastPrj = 'Open last project at start';
dlgFpcPath = 'Compiler path (ppc386)'; dlgLazarusDir = 'Lazarus directory (default for all projects)';
dlgFpcSrcPath = 'FPC source directory'; dlgFpcPath = 'Compiler path (ppc386)';
dlgDebugType = 'Debugger type and path'; dlgFpcSrcPath = 'FPC source directory';
dlgTestPrjDir = 'Directory for building test projects'; dlgDebugType = 'Debugger type and path';
dlgQShowGrid = 'Show grid'; dlgTestPrjDir = 'Directory for building test projects';
dlgGridColor = 'Grid color'; dlgQShowGrid = 'Show grid';
dlgQSnapToGrid = 'Snap to grid'; dlgGridColor = 'Grid color';
dlgGridX = 'Grid size X'; dlgQSnapToGrid = 'Snap to grid';
dlgGridY = 'Grid size Y'; dlgGridX = 'Grid size X';
dlgGuideLines = 'Show Guide Lines'; dlgGridY = 'Grid size Y';
dlgSnapGuideLines = 'Snap to Guide Lines'; dlgGuideLines = 'Show Guide Lines';
dlgLeftTopClr = 'color for left, top'; dlgSnapGuideLines = 'Snap to Guide Lines';
dlgRightBottomClr = 'color for right, bottom'; dlgLeftTopClr = 'color for left, top';
dlgShowCaps = 'Show component captions'; dlgRightBottomClr = 'color for right, bottom';
dlgShowEdrHints = 'Show editor hints'; dlgShowCaps = 'Show component captions';
dlgAutoForm = 'Auto create forms'; dlgShowEdrHints = 'Show editor hints';
dlgEnvGrid = 'Grid'; dlgAutoForm = 'Auto create forms';
dlgEnvLGuideLines = 'Guide lines'; dlgEnvGrid = 'Grid';
dlgEnvMisc = 'Miscellaneous'; dlgEnvLGuideLines = 'Guide lines';
dlgPasExt = 'Default pascal extension'; dlgEnvMisc = 'Miscellaneous';
dlgPasLower = 'Save pascal files lowercase'; dlgPasExt = 'Default pascal extension';
dlgAmbigFileAct = 'Ambigious file action:'; dlgPasLower = 'Save pascal files lowercase';
//TODO Make it dlgAmbigFileAct = 'Ambigious file action:';
dlgEnvAsk = 'Ask'; //TODO Make it
dlgAutoDel = 'Auto delete file'; dlgEnvAsk = 'Ask';
dlgAutoRen = 'Auto rename file'; dlgAutoDel = 'Auto delete file';
dlgAmbigWarn = 'Warn on compile'; dlgAutoRen = 'Auto rename file';
dlgIgnoreVerb = 'Ignore'; dlgAmbigWarn = 'Warn on compile';
//It''s OK then dlgIgnoreVerb = 'Ignore';
dlgBackColor = 'Background color'; //It''s OK then
dlgEnvColors = 'Colors'; dlgBackColor = 'Background color';
dlgEnvNotes = 'Notes: '; dlgEnvColors = 'Colors';
dlgEdOptsCap = 'Editor Options'; dlgEnvNotes = 'Notes: ';
dlgEdDisplay = 'Display'; dlgEdOptsCap = 'Editor Options';
dlgKeyMapping = 'Key Mappings'; dlgEdDisplay = 'Display';
dlgEdColor = 'Color'; dlgKeyMapping = 'Key Mappings';
dlgKeyMappingErrors = 'Key mapping errors'; dlgEdColor = 'Color';
dlgEdBack = 'Back'; dlgKeyMappingErrors = 'Key mapping errors';
dlgReport = 'Report'; dlgEdBack = 'Back';
dlgEdNoErr = 'No errors in key mapping found.'; dlgReport = 'Report';
dlgDelTemplate = 'Delete template '; dlgEdNoErr = 'No errors in key mapping found.';
dlgChsCodeTempl = 'Choose code template file (*.dci)'; dlgDelTemplate = 'Delete template ';
dlgAllFiles = 'All files'; dlgChsCodeTempl = 'Choose code template file (*.dci)';
dlgAltSetClMode = 'Alt Sets Column Mode'; dlgAllFiles = 'All files';
dlgAutoIdent = 'Auto Indent'; dlgAltSetClMode = 'Alt Sets Column Mode';
dlgBracHighlight = 'Bracket Highlight'; dlgAutoIdent = 'Auto Indent';
dlgDragDropEd = 'Drag Drop Editing'; dlgBracHighlight = 'Bracket Highlight';
dlgDropFiles = 'Drop Files'; dlgDragDropEd = 'Drag Drop Editing';
dlgHalfPageScroll = 'Half Page Scroll'; dlgDropFiles = 'Drop Files';
dlgKeepCaretX = 'Keep Caret X'; dlgHalfPageScroll = 'Half Page Scroll';
dlgPersistentCaret = 'Persistent Caret'; dlgKeepCaretX = 'Keep Caret X';
dlgScrollByOneLess = 'Scroll By One Less'; dlgPersistentCaret = 'Persistent Caret';
dlgScrollPastEndFile = 'Scroll Past End of File'; dlgScrollByOneLess = 'Scroll By One Less';
dlgScrollPastEndLine = 'Scroll Past End of Line'; dlgScrollPastEndFile = 'Scroll Past End of File';
dlgCloseButtonsNotebook = 'Close buttons in notebook'; dlgScrollPastEndLine = 'Scroll Past End of Line';
dlgShowScrollHint = 'Show Scroll Hint'; dlgCloseButtonsNotebook = 'Close buttons in notebook';
dlgSmartTabs = 'Smart Tabs'; dlgShowScrollHint = 'Show Scroll Hint';
dlgTabsToSpaces = 'Tabs To Spaces'; dlgSmartTabs = 'Smart Tabs';
dlgTrimTrailingSpaces = 'Trim Trailing Spaces'; dlgTabsToSpaces = 'Tabs To Spaces';
dlgUndoAfterSave = 'Undo after save'; dlgTrimTrailingSpaces = 'Trim Trailing Spaces';
dlgDoubleClickLine = 'Double click line'; dlgUndoAfterSave = 'Undo after save';
dlgFindTextatCursor = 'Find text at cursor'; dlgDoubleClickLine = 'Double click line';
dlgUseSyntaxHighlight = 'Use syntax highlight'; dlgFindTextatCursor = 'Find text at cursor';
dlgBlockIndent = 'Block indent:'; dlgUseSyntaxHighlight = 'Use syntax highlight';
dlgUndoLimit = 'Undo limit:'; dlgBlockIndent = 'Block indent:';
dlgTabWidths = 'Tab widths:'; dlgUndoLimit = 'Undo limit:';
dlgMarginGutter = 'Margin and gutter';//What is gutter? dlgTabWidths = 'Tab widths:';
dlgVisibleRightMargin = 'Visible right margin'; dlgMarginGutter = 'Margin and gutter';//What is gutter?
dlgVisibleGutter = 'Visible gutter';//I know only about fish guts... :( :) dlgVisibleRightMargin = 'Visible right margin';
dlgShowLineNumbers = 'Show line numbers'; dlgVisibleGutter = 'Visible gutter';//I know only about fish guts... :( :)
dlgRightMargin = 'Right margin'; dlgShowLineNumbers = 'Show line numbers';
dlgRightMarginColor = 'Right margin color'; dlgRightMargin = 'Right margin';
dlgGutterWidth = 'Gutter width';// as I am food technology bachelor dlgRightMarginColor = 'Right margin color';
dlgGutterColor = 'Gutter color';// and fish technology engineer :) - VVI dlgGutterWidth = 'Gutter width';// as I am food technology bachelor
dlgEditorFont = 'Editor font'; dlgGutterColor = 'Gutter color';// and fish technology engineer :) - VVI
dlgEditorFontHeight = 'Editor font height'; dlgEditorFont = 'Editor font';
dlgExtraLineSpacing = 'Extra line spacing'; dlgEditorFontHeight = 'Editor font height';
dlgKeyMappingScheme = 'Key Mapping Scheme'; dlgExtraLineSpacing = 'Extra line spacing';
dlgCheckConsistency = 'Check consistency'; dlgKeyMappingScheme = 'Key Mapping Scheme';
dlgEdHintCommand = 'Hint: click on the command you want to edit'; dlgCheckConsistency = 'Check consistency';
dlgLang = 'Language:'; dlgEdHintCommand = 'Hint: click on the command you want to edit';
dlgClrScheme = 'Color Scheme:'; dlgLang = 'Language:';
dlgFileExts = 'File extensions:'; dlgClrScheme = 'Color Scheme:';
dlgEdElement = 'Element'; dlgFileExts = 'File extensions:';
dlgSetElementDefault = 'Set element to default'; dlgEdElement = 'Element';
dlgSetAllElementDefault = 'Set all elements to default'; dlgSetElementDefault = 'Set element to default';
dlgForecolor = 'Foreground color'; dlgSetAllElementDefault = 'Set all elements to default';
dlgEdUseDefColor = 'Use default color'; dlgForecolor = 'Foreground color';
dlgTextAttributes = 'Text attributes'; dlgEdUseDefColor = 'Use default color';
dlgEdBold = 'Bold'; dlgTextAttributes = 'Text attributes';
dlgEdItal = 'Italic'; dlgEdBold = 'Bold';
dlgEdUnder = 'Underline'; dlgEdItal = 'Italic';
dlgEdIdComlet = 'Identfier completion'; dlgEdUnder = 'Underline';
dlgEdCodeParams = 'Code parameters'; dlgEdIdComlet = 'Identfier completion';
dlgTooltipEval = 'Tooltip expression evaluation'; dlgEdCodeParams = 'Code parameters';
dlgTooltipTools = 'Tooltip symbol Tools'; dlgTooltipEval = 'Tooltip expression evaluation';
dlgEdDelay = 'Delay'; dlgTooltipTools = 'Tooltip symbol Tools';
dlgTimeSecondUnit = 'sec'; dlgEdDelay = 'Delay';
dlgEdCodeTempl = 'Code templates'; dlgTimeSecondUnit = 'sec';
dlgTplFName = 'Template file name'; dlgEdCodeTempl = 'Code templates';
dlgEdAdd = 'Add...'; dlgTplFName = 'Template file name';
dlgEdEdit = 'Edit...'; dlgEdAdd = 'Add...';
dlgEdDelete = 'Delete'; dlgEdEdit = 'Edit...';
dlgIndentCodeTo = 'Indent code to'; dlgEdDelete = 'Delete';
dlgIndentCodeTo = 'Indent code to';
implementation implementation