added style-range selection (carbon-only for now), updated test for the new feature

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@839 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2009-06-12 20:46:34 +00:00
parent 8b838af59f
commit b39665794f
7 changed files with 430 additions and 238 deletions

View File

@ -21,9 +21,12 @@ type
procedure UpdateRichMemo; virtual;
procedure SetHideSelection(AValue: Boolean);
public
procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
procedure SetTextAttributes(TextStart, TextLen: Integer; SetMask: TTextStyleMask; const TextParams: TFontParams); virtual;
procedure SetTextAttributes(TextStart, TextLen: Integer; SetMask: TTextStyleMask; const TextParams: TFontParams); virtual;
function GetTextAttributes(TextStart: Integer; var TextParams: TFontParams): Boolean; virtual;
function GetStyleRange(TextStart: Integer; var RangeStart, RangeLen: Integer): Boolean; virtual;
procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
function GetStyleLength(TextStart: Integer): Integer;
function LoadRichText(Source: TStream): Boolean; virtual;
function SaveRichText(Dest: TStream): Boolean; virtual;
@ -175,6 +178,29 @@ begin
Result := false;
end;
function TCustomRichMemo.GetStyleRange(TextStart: Integer; var RangeStart,
RangeLen: Integer): Boolean;
begin
if HandleAllocated then
Result := TWSCustomRichMemoClass(WidgetSetClass).GetStyleRange(Self, TextStart, RangeStart, RangeLen)
else begin
RangeStart := -1;
RangeLen := -1;
Result := false;
end;
end;
function TCustomRichMemo.GetStyleLength(TextStart: Integer): Integer;
var
ofs, len : Integer;
begin
if GetStyleRange(TextStart, ofs, len) then
Result := len - (TextStart-ofs)
else
Result := 0;
end;
function TCustomRichMemo.LoadRichText(Source: TStream): Boolean;
begin
if Assigned(Source) and HandleAllocated then