mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-08 10:39:15 +02:00
LCL: less hints
git-svn-id: trunk@47614 -
This commit is contained in:
parent
5da1a8e4da
commit
5ca1ca2bd8
@ -32,9 +32,9 @@ uses
|
||||
SysUtils, Types, Classes, Math,
|
||||
AvgLvlTree, LazUTF8, LazUTF8Classes,
|
||||
LCLStrConsts, LResources, LCLIntf, LCLType,
|
||||
FileUtil, LCLProc, LMessages, ImgList, ActnList, GraphType,
|
||||
Graphics, Menus, Controls, Forms, StdCtrls, ExtCtrls, ToolWin, Buttons,
|
||||
Themes, WSLCLClasses, LCLClasses;
|
||||
FileUtil, LMessages, ImgList, ActnList, GraphType,
|
||||
Themes, WSLCLClasses, LCLClasses, LCLProc,
|
||||
Graphics, Menus, Controls, Forms, StdCtrls, ExtCtrls, ToolWin, Buttons;
|
||||
|
||||
type
|
||||
THitTest = (htAbove, htBelow, htNowhere, htOnItem, htOnButton, htOnIcon,
|
||||
|
@ -21,10 +21,10 @@ uses
|
||||
// FPC
|
||||
Classes, SysUtils, contnrs, Math, types,
|
||||
// LazUtils
|
||||
lazutf8,
|
||||
LazUTF8,
|
||||
// LCL -> Use only TForm, TWinControl, TCanvas, TLazIntfImage
|
||||
Graphics, Controls, LCLType, LCLIntf, LCLMessageGlue,
|
||||
LMessages, Messages, LCLProc, Forms,
|
||||
LCLType, LCLProc, LCLIntf, LCLMessageGlue, LMessages, Messages,
|
||||
Forms, Graphics, Controls,
|
||||
// Other LCL units are only for types
|
||||
StdCtrls, ExtCtrls, ComCtrls, Buttons,
|
||||
//
|
||||
@ -1492,10 +1492,10 @@ begin
|
||||
lControlText := GetCurrentLine();
|
||||
|
||||
// Text left of the selection
|
||||
lTextLeft := UTF8Copy(lControlText, FEditState.VisibleTextStart.X, lSelLeftPos-FEditState.VisibleTextStart.X+1);
|
||||
lTextLeft := LazUTF8.UTF8Copy(lControlText, FEditState.VisibleTextStart.X, lSelLeftPos-FEditState.VisibleTextStart.X+1);
|
||||
|
||||
// Text right of the selection
|
||||
lTextRight := UTF8Copy(lControlText, lSelLeftPos+lSelLength+1, Length(lControlText));
|
||||
lTextRight := LazUTF8.UTF8Copy(lControlText, lSelLeftPos+lSelLength+1, Length(lControlText));
|
||||
|
||||
// Execute the deletion
|
||||
SetCurrentLine(lTextLeft + lTextRight);
|
||||
@ -1527,7 +1527,7 @@ begin
|
||||
|
||||
// Moved to the right and we need to adjust the text start
|
||||
lLineText := GetCurrentLine();
|
||||
lVisibleText := UTF8Copy(lLineText, FEditState.VisibleTextStart.X, Length(lLineText));
|
||||
lVisibleText := LazUTF8.UTF8Copy(lLineText, FEditState.VisibleTextStart.X, Length(lLineText));
|
||||
lAvailableWidth := Width
|
||||
- FDrawer.GetMeasures(TCDEDIT_LEFT_TEXT_SPACING)
|
||||
- FDrawer.GetMeasures(TCDEDIT_RIGHT_TEXT_SPACING);
|
||||
@ -1541,7 +1541,7 @@ begin
|
||||
FEditState.VisibleTextStart.Y := Max(FEditState.CaretPos.Y-FEditState.FullyVisibleLinesCount, FEditState.VisibleTextStart.Y);
|
||||
|
||||
// Impose limits in the caret too
|
||||
FEditState.CaretPos.X := Min(FEditState.CaretPos.X, UTF8Length(lLineText));
|
||||
FEditState.CaretPos.X := Min(FEditState.CaretPos.X, LazUTF8.UTF8Length(lLineText));
|
||||
FEditState.CaretPos.Y := Min(FEditState.CaretPos.Y, FEditState.Lines.Count-1);
|
||||
FEditState.CaretPos.Y := Max(FEditState.CaretPos.Y, 0);
|
||||
end;
|
||||
@ -1578,8 +1578,8 @@ begin
|
||||
// Find the best X position
|
||||
Canvas.Font := Font;
|
||||
lVisibleStr := FLines.Strings[Result.Y];
|
||||
lVisibleStr := UTF8Copy(lVisibleStr, FEditState.VisibleTextStart.X, Length(lVisibleStr));
|
||||
lStrLen := UTF8Length(lVisibleStr);
|
||||
lVisibleStr := LazUTF8.UTF8Copy(lVisibleStr, FEditState.VisibleTextStart.X, Length(lVisibleStr));
|
||||
lStrLen := LazUTF8.UTF8Length(lVisibleStr);
|
||||
lPos := FDrawer.GetMeasures(TCDEDIT_LEFT_TEXT_SPACING);
|
||||
for i := 0 to lStrLen do
|
||||
begin
|
||||
@ -1598,7 +1598,7 @@ begin
|
||||
|
||||
if i <> lStrLen then
|
||||
begin
|
||||
lCurChar := UTF8Copy(lVisibleStr, i+1, 1);
|
||||
lCurChar := LazUTF8.UTF8Copy(lVisibleStr, i+1, 1);
|
||||
lCurCharLen := Canvas.TextWidth(lCurChar);
|
||||
lPos := lPos + lCurCharLen;
|
||||
end;
|
||||
@ -1637,7 +1637,7 @@ begin
|
||||
inherited KeyDown(Key, Shift);
|
||||
|
||||
lOldText := GetCurrentLine();
|
||||
lOldTextLength := UTF8Length(lOldText);
|
||||
lOldTextLength := LazUTF8.UTF8Length(lOldText);
|
||||
FEditState.SelStart.Y := FEditState.CaretPos.Y;//ToDo: Change this when proper multi-line selection is implemented
|
||||
|
||||
case Key of
|
||||
@ -1650,8 +1650,8 @@ begin
|
||||
// Normal backspace
|
||||
else if FEditState.CaretPos.X > 0 then
|
||||
begin
|
||||
lLeftText := UTF8Copy(lOldText, 1, FEditState.CaretPos.X-1);
|
||||
lRightText := UTF8Copy(lOldText, FEditState.CaretPos.X+1, lOldTextLength);
|
||||
lLeftText := LazUTF8.UTF8Copy(lOldText, 1, FEditState.CaretPos.X-1);
|
||||
lRightText := LazUTF8.UTF8Copy(lOldText, FEditState.CaretPos.X+1, lOldTextLength);
|
||||
SetCurrentLine(lLeftText + lRightText);
|
||||
Dec(FEditState.CaretPos.X);
|
||||
DoManageVisibleTextStart();
|
||||
@ -1667,8 +1667,8 @@ begin
|
||||
// Normal delete
|
||||
else if FEditState.CaretPos.X < lOldTextLength then
|
||||
begin
|
||||
lLeftText := UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := UTF8Copy(lOldText, FEditState.CaretPos.X+2, lOldTextLength);
|
||||
lLeftText := LazUTF8.UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := LazUTF8.UTF8Copy(lOldText, FEditState.CaretPos.X+2, lOldTextLength);
|
||||
SetCurrentLine(lLeftText + lRightText);
|
||||
Invalidate;
|
||||
end;
|
||||
@ -1845,8 +1845,8 @@ begin
|
||||
else
|
||||
begin
|
||||
// Get the two halves of the text separated by the cursor
|
||||
lLeftText := UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := UTF8Copy(lOldText, FEditState.CaretPos.X+1, lOldTextLength);
|
||||
lLeftText := LazUTF8.UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := LazUTF8.UTF8Copy(lOldText, FEditState.CaretPos.X+1, lOldTextLength);
|
||||
// Move the right part to a new line
|
||||
SetCurrentLine(lLeftText);
|
||||
FLines.Insert(FEditState.CaretPos.Y+1, lRightText);
|
||||
@ -1896,8 +1896,8 @@ begin
|
||||
|
||||
// Normal characters
|
||||
lOldText := GetCurrentLine();
|
||||
lLeftText := UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := UTF8Copy(lOldText, FEditState.CaretPos.X+1, UTF8Length(lOldText));
|
||||
lLeftText := LazUTF8.UTF8Copy(lOldText, 1, FEditState.CaretPos.X);
|
||||
lRightText := LazUTF8.UTF8Copy(lOldText, FEditState.CaretPos.X+1, LazUTF8.UTF8Length(lOldText));
|
||||
SetCurrentLine(lLeftText + UTF8Key + lRightText);
|
||||
Inc(FEditState.CaretPos.X);
|
||||
DoManageVisibleTextStart();
|
||||
|
@ -33,7 +33,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, Math, FileUtil, DB,
|
||||
LazUTF8, LCLStrConsts, LCLIntf, LCLProc, LCLType, LMessages, LResources,
|
||||
LazUTF8, LazLoggerBase, LCLStrConsts, LCLIntf, LCLType, LMessages, LResources,
|
||||
Controls, StdCtrls, Graphics, Grids, Dialogs, Themes, Variants, Clipbrd;
|
||||
|
||||
{$if FPC_FULLVERSION<20701}
|
||||
@ -644,10 +644,10 @@ begin
|
||||
else begin
|
||||
|
||||
aCharWidth := CalcCanvasCharWidth(Canvas);
|
||||
if Field.DisplayWidth>UTF8Length(aTitle) then
|
||||
if Field.DisplayWidth>LazUTF8.UTF8Length(aTitle) then
|
||||
result := aCharWidth * Field.DisplayWidth
|
||||
else
|
||||
result := aCharWidth * UTF8Length(aTitle);
|
||||
result := aCharWidth * LazUTF8.UTF8Length(aTitle);
|
||||
|
||||
if HasTitle then begin
|
||||
UseTitleFont :=
|
||||
|
@ -3272,7 +3272,7 @@ begin
|
||||
Result:=0;
|
||||
OnCompare(Node1.TreeView,Node1, Node2, Result);
|
||||
end else
|
||||
Result := Utf8CompareStr(Node1.Text,Node2.Text);
|
||||
Result := LazUTF8.Utf8CompareStr(Node1.Text,Node2.Text);
|
||||
end;
|
||||
|
||||
procedure TCustomTreeView.SetAutoExpand(Value: Boolean);
|
||||
|
@ -729,9 +729,9 @@ function GetCompleteText(const sText: string; iSelStart: Integer;
|
||||
sTempText: string;
|
||||
begin
|
||||
Result := False;
|
||||
sTempText := UTF8Copy(sCompareText, 1, iStart);
|
||||
sTempText := LazUTF8.UTF8Copy(sCompareText, 1, iStart);
|
||||
if not bCaseSensitive then
|
||||
sTempText := UTF8UpperCase(sTempText);
|
||||
sTempText := LazUTF8.UTF8UpperCase(sTempText);
|
||||
if (sTempText = sPrefix) then
|
||||
begin
|
||||
ResultText := sCompareText;
|
||||
@ -748,9 +748,9 @@ begin
|
||||
if (sText = '') then Exit;//Everything is compatible with nothing, Exit.
|
||||
if (iSelStart = 0) then Exit;//Cursor at beginning
|
||||
if (slTextList.Count = 0) then Exit;//No text list to search for idtenticals, Exit.
|
||||
sPrefixText := UTF8Copy(sText, 1, iSelStart);//Get text from beginning to cursor position.
|
||||
sPrefixText := LazUTF8.UTF8Copy(sText, 1, iSelStart);//Get text from beginning to cursor position.
|
||||
if not bCaseSensitive then
|
||||
sPrefixText := UTF8UpperCase(sPrefixText);
|
||||
sPrefixText := LazUTF8.UTF8UpperCase(sPrefixText);
|
||||
if bSearchAscending then
|
||||
begin
|
||||
for i := 0 to slTextList.Count - 1 do
|
||||
@ -2713,7 +2713,7 @@ end;
|
||||
|
||||
function UTF8Length(const s: string): PtrInt;
|
||||
begin
|
||||
Result:=UTF8Length(PChar(s),length(s));
|
||||
Result:=LazUTF8.UTF8Length(PChar(s),length(s));
|
||||
end;
|
||||
|
||||
function UTF8Length(p: PChar; ByteCount: PtrInt): PtrInt;
|
||||
@ -2738,7 +2738,7 @@ end;
|
||||
|
||||
function UnicodeToUTF8(u: cardinal): shortstring;
|
||||
begin
|
||||
Result[0]:=chr(UnicodeToUTF8(u,@Result[1]));
|
||||
Result[0]:=chr(LazUTF8.UnicodeToUTF8(u,@Result[1]));
|
||||
end;
|
||||
|
||||
function UTF8ToDoubleByteString(const s: string): string;
|
||||
|
@ -5,8 +5,8 @@ unit ValEdit;
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, Controls, StdCtrls, SysUtils, Grids, LResources, Dialogs, LazUtf8, variants, LCLProc,
|
||||
LCLType, ContNrs;
|
||||
ContNrs, SysUtils, Classes, Variants,
|
||||
LazUtf8, Controls, StdCtrls, Grids, LResources, Dialogs, LCLType;
|
||||
|
||||
type
|
||||
|
||||
@ -1367,7 +1367,7 @@ begin
|
||||
begin
|
||||
if (Index <> i) and (FStrings.Names[i] <> '') then
|
||||
begin
|
||||
if (Utf8CompareText(FStrings.Names[i], NewValue) = 0) then
|
||||
if (LazUTF8.Utf8CompareText(FStrings.Names[i], NewValue) = 0) then
|
||||
begin
|
||||
Result := False;
|
||||
ShowMessage(Format(rsVLEDuplicateKey,[NewValue, i + FixedRows]));
|
||||
|
Loading…
Reference in New Issue
Block a user