richmemo: updating paragraph metics

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@3730 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
skalogryz
2014-11-15 18:57:15 +00:00
parent 6d22d41742
commit e9beda10fb
8 changed files with 8416 additions and 69 deletions

View File

@@ -64,6 +64,7 @@ type
procedure SetParaAlignment(TextStart, TextLen: Integer; AAlign: TParaAlignment); virtual; procedure SetParaAlignment(TextStart, TextLen: Integer; AAlign: TParaAlignment); virtual;
function GetParaMetric(TextStart: Integer; var AMetric: TParaMetric): Boolean; virtual; function GetParaMetric(TextStart: Integer; var AMetric: TParaMetric): Boolean; virtual;
procedure SetParaMetric(TextStart, TextLen: Integer; const AMetric: TParaMetric); virtual; procedure SetParaMetric(TextStart, TextLen: Integer; const AMetric: TParaMetric); virtual;
function GetParaNumbering(TextStart: Integer; var ANumber: TParaNumbering): Boolean; virtual;
procedure SetParaNumbering(TextStart, TextLen: Integer; const ANumber: TParaNumbering); virtual; procedure SetParaNumbering(TextStart, TextLen: Integer; const ANumber: TParaNumbering); virtual;
procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont); procedure SetTextAttributes(TextStart, TextLen: Integer; AFont: TFont);
@@ -270,8 +271,9 @@ function TCustomRichMemo.GetParaMetric(TextStart: Integer;
var AMetric: TParaMetric): Boolean; var AMetric: TParaMetric): Boolean;
begin begin
if HandleAllocated then if HandleAllocated then
TWSCustomRichMemoClass(WidgetSetClass).GetParaMetric(Self, TextStart, AMetric); Result := TWSCustomRichMemoClass(WidgetSetClass).GetParaMetric(Self, TextStart, AMetric)
Result:=true; else
Result := false;
end; end;
procedure TCustomRichMemo.SetParaMetric(TextStart, TextLen: Integer; procedure TCustomRichMemo.SetParaMetric(TextStart, TextLen: Integer;
@@ -281,6 +283,15 @@ begin
TWSCustomRichMemoClass(WidgetSetClass).SetParaMetric(Self, TextStart, TextLen, AMetric); TWSCustomRichMemoClass(WidgetSetClass).SetParaMetric(Self, TextStart, TextLen, AMetric);
end; end;
function TCustomRichMemo.GetParaNumbering(TextStart: Integer;
var ANumber: TParaNumbering): Boolean;
begin
if HandleAllocated then
Result := TWSCustomRichMemoClass(WidgetSetClass).GetParaNumbering(Self, TextStart, ANumber)
else
Result := false;
end;
procedure TCustomRichMemo.SetParaNumbering(TextStart, TextLen: Integer; procedure TCustomRichMemo.SetParaNumbering(TextStart, TextLen: Integer;
const ANumber: TParaNumbering); const ANumber: TParaNumbering);
begin begin

View File

@@ -51,7 +51,7 @@
<UnitName Value="Unit1"/> <UnitName Value="Unit1"/>
</Unit1> </Unit1>
<Unit2> <Unit2>
<Filename Value="../../../../../wnlibsvn/CarbonPaste.pas"/> <Filename Value="../../../../wnlibsvn/CarbonPaste.pas"/>
<IsPartOfProject Value="True"/> <IsPartOfProject Value="True"/>
</Unit2> </Unit2>
</Units> </Units>
@@ -70,13 +70,9 @@
<UseAnsiStrings Value="False"/> <UseAnsiStrings Value="False"/>
</SyntaxOptions> </SyntaxOptions>
</Parsing> </Parsing>
<Linking> <Other>
<Options> <CompilerPath Value="$(CompPath)"/>
<Win32> </Other>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions> </CompilerOptions>
<Debugging> <Debugging>
<Exceptions Count="3"> <Exceptions Count="3">

File diff suppressed because it is too large Load Diff

View File

@@ -8,7 +8,7 @@ object Form1: TForm1
ClientHeight = 457 ClientHeight = 457
ClientWidth = 634 ClientWidth = 634
OnCreate = FormCreate OnCreate = FormCreate
LCLVersion = '1.3' LCLVersion = '1.2.4.0'
object RichMemo1: TRichMemo object RichMemo1: TRichMemo
Left = 15 Left = 15
Height = 264 Height = 264
@@ -132,19 +132,19 @@ object Form1: TForm1
end end
object StartIdent: TFloatSpinEdit object StartIdent: TFloatSpinEdit
Left = 344 Left = 344
Height = 21 Height = 23
Top = 18 Top = 18
Width = 78 Width = 78
Increment = 1 Increment = 1
MaxValue = 100 MaxValue = 100
MinValue = 0 MinValue = -100
OnChange = StartIdentChange OnChange = StartIdentChange
TabOrder = 11 TabOrder = 11
Value = 0 Value = 0
end end
object Label1: TLabel object Label1: TLabel
Left = 304 Left = 304
Height = 13 Height = 15
Top = 18 Top = 18
Width = 27 Width = 27
Caption = 'Start ' Caption = 'Start '
@@ -152,20 +152,20 @@ object Form1: TForm1
end end
object Label2: TLabel object Label2: TLabel
Left = 304 Left = 304
Height = 13 Height = 15
Top = 48 Top = 48
Width = 31 Width = 32
Caption = 'Offset' Caption = 'Offset'
ParentColor = False ParentColor = False
end end
object OffsetIdent: TFloatSpinEdit object OffsetIdent: TFloatSpinEdit
Left = 344 Left = 344
Height = 21 Height = 23
Top = 46 Top = 46
Width = 78 Width = 78
Increment = 1 Increment = 1
MaxValue = 100 MaxValue = 100
MinValue = 0 MinValue = -100
OnChange = StartIdentChange OnChange = StartIdentChange
TabOrder = 12 TabOrder = 12
Value = 0 Value = 0

View File

@@ -4,18 +4,18 @@ LazarusResources.Add('TForm1','FORMDATA',[
'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#25#1#6'Height'#3#201#1#3'Top'#3#198#0#5'W' 'TPF0'#6'TForm1'#5'Form1'#4'Left'#3#25#1#6'Height'#3#201#1#3'Top'#3#198#0#5'W'
+'idth'#3'z'#2#13'ActiveControl'#7#9'RichMemo1'#7'Caption'#6#5'Form1'#12'Clie' +'idth'#3'z'#2#13'ActiveControl'#7#9'RichMemo1'#7'Caption'#6#5'Form1'#12'Clie'
+'ntHeight'#3#201#1#11'ClientWidth'#3'z'#2#8'OnCreate'#7#10'FormCreate'#10'LC' +'ntHeight'#3#201#1#11'ClientWidth'#3'z'#2#8'OnCreate'#7#10'FormCreate'#10'LC'
+'LVersion'#6#3'1.3'#0#9'TRichMemo'#9'RichMemo1'#4'Left'#2#15#6'Height'#3#8#1 +'LVersion'#6#7'1.2.4.0'#0#9'TRichMemo'#9'RichMemo1'#4'Left'#2#15#6'Height'#3
+#3'Top'#2'`'#5'Width'#3'a'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'a' +#8#1#3'Top'#2'`'#5'Width'#3'a'#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'
+'kBottom'#0#11'Font.Height'#2#243#9'Font.Name'#6#6'Tahoma'#13'HideSelection' +#8'akBottom'#0#11'Font.Height'#2#243#9'Font.Name'#6#6'Tahoma'#13'HideSelecti'
+#8#13'Lines.Strings'#1#6#9'RichMemo1'#0#8'OnChange'#7#15'RichMemo1Change'#7 +'on'#8#13'Lines.Strings'#1#6#9'RichMemo1'#0#8'OnChange'#7#15'RichMemo1Change'
+'OnKeyUp'#7#14'RichMemo1KeyUp'#9'OnMouseUp'#7#16'RichMemo1MouseUp'#10'Parent' +#7'OnKeyUp'#7#14'RichMemo1KeyUp'#9'OnMouseUp'#7#16'RichMemo1MouseUp'#10'Pare'
+'Font'#8#10'ScrollBars'#7#10'ssVertical'#8'TabOrder'#2#0#0#0#7'TButton'#7'Bu' +'ntFont'#8#10'ScrollBars'#7#10'ssVertical'#8'TabOrder'#2#0#0#0#7'TButton'#7
+'tton1'#4'Left'#2#24#6'Height'#2#25#3'Top'#3'~'#1#5'Width'#3#160#0#7'Anchors' +'Button1'#4'Left'#2#24#6'Height'#2#25#3'Top'#3'~'#1#5'Width'#3#160#0#7'Ancho'
+#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#17'Make Bold and Red'#7'OnClick'#7 +'rs'#11#6'akLeft'#8'akBottom'#0#7'Caption'#6#17'Make Bold and Red'#7'OnClick'
+#12'Button1Click'#8'TabOrder'#2#1#7'TabStop'#8#0#0#7'TButton'#7'Button2'#4'L' +#7#12'Button1Click'#8'TabOrder'#2#1#7'TabStop'#8#0#0#7'TButton'#7'Button2'#4
+'eft'#3#192#0#6'Height'#2#25#3'Top'#3'~'#1#5'Width'#2'a'#7'Anchors'#11#6'akL' +'Left'#3#192#0#6'Height'#2#25#3'Top'#3'~'#1#5'Width'#2'a'#7'Anchors'#11#6'ak'
+'eft'#8'akBottom'#0#7'Caption'#6#11'Get Attribs'#7'OnClick'#7#12'Button2Clic' +'Left'#8'akBottom'#0#7'Caption'#6#11'Get Attribs'#7'OnClick'#7#12'Button2Cli'
+'k'#8'TabOrder'#2#2#7'TabStop'#8#0#0#7'TButton'#7'Button3'#4'Left'#3'0'#1#6 +'ck'#8'TabOrder'#2#2#7'TabStop'#8#0#0#7'TButton'#7'Button3'#4'Left'#3'0'#1#6
+'Height'#2#25#3'Top'#3'~'#1#5'Width'#2'`'#7'Anchors'#11#6'akLeft'#8'akBottom' +'Height'#2#25#3'Top'#3'~'#1#5'Width'#2'`'#7'Anchors'#11#6'akLeft'#8'akBottom'
+#0#7'Caption'#6#11'Select Font'#7'OnClick'#7#12'Button3Click'#8'TabOrder'#2#3 +#0#7'Caption'#6#11'Select Font'#7'OnClick'#7#12'Button3Click'#8'TabOrder'#2#3
+#7'TabStop'#8#0#0#7'TButton'#7'Button4'#4'Left'#3#16#2#6'Height'#2#25#3'Top' +#7'TabStop'#8#0#0#7'TButton'#7'Button4'#4'Left'#3#16#2#6'Height'#2#25#3'Top'
@@ -35,25 +35,25 @@ LazarusResources.Add('TForm1','FORMDATA',[
+'Button9Click'#8'TabOrder'#2#9#0#0#7'TButton'#8'Button10'#4'Left'#3#192#0#6 +'Button9Click'#8'TabOrder'#2#9#0#0#7'TButton'#8'Button10'#4'Left'#3#192#0#6
+'Height'#2#25#3'Top'#2#16#5'Width'#2'5'#7'Caption'#6#7'Justify'#7'OnClick'#7 +'Height'#2#25#3'Top'#2#16#5'Width'#2'5'#7'Caption'#6#7'Justify'#7'OnClick'#7
+#13'Button10Click'#8'TabOrder'#2#10#0#0#14'TFloatSpinEdit'#10'StartIdent'#4 +#13'Button10Click'#8'TabOrder'#2#10#0#0#14'TFloatSpinEdit'#10'StartIdent'#4
+'Left'#3'X'#1#6'Height'#2#21#3'Top'#2#18#5'Width'#2'N'#9'Increment'#5#0#0#0#0 +'Left'#3'X'#1#6'Height'#2#23#3'Top'#2#18#5'Width'#2'N'#9'Increment'#5#0#0#0#0
+#0#0#0#128#255'?'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'MinValue'#5#0#0#0#0 +#0#0#0#128#255'?'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'MinValue'#5#0#0#0#0
+#0#0#0#0#0#0#8'OnChange'#7#16'StartIdentChange'#8'TabOrder'#2#11#5'Value'#5#0 +#0#0#0#200#5#192#8'OnChange'#7#16'StartIdentChange'#8'TabOrder'#2#11#5'Value'
+#0#0#0#0#0#0#0#0#0#0#0#6'TLabel'#6'Label1'#4'Left'#3'0'#1#6'Height'#2#13#3'T' +#5#0#0#0#0#0#0#0#0#0#0#0#0#6'TLabel'#6'Label1'#4'Left'#3'0'#1#6'Height'#2#15
+'op'#2#18#5'Width'#2#27#7'Caption'#6#6'Start '#11'ParentColor'#8#0#0#6'TLabe' +#3'Top'#2#18#5'Width'#2#27#7'Caption'#6#6'Start '#11'ParentColor'#8#0#0#6'TL'
+'l'#6'Label2'#4'Left'#3'0'#1#6'Height'#2#13#3'Top'#2'0'#5'Width'#2#31#7'Capt' +'abel'#6'Label2'#4'Left'#3'0'#1#6'Height'#2#15#3'Top'#2'0'#5'Width'#2' '#7'C'
+'ion'#6#6'Offset'#11'ParentColor'#8#0#0#14'TFloatSpinEdit'#11'OffsetIdent'#4 +'aption'#6#6'Offset'#11'ParentColor'#8#0#0#14'TFloatSpinEdit'#11'OffsetIdent'
+'Left'#3'X'#1#6'Height'#2#21#3'Top'#2'.'#5'Width'#2'N'#9'Increment'#5#0#0#0#0 +#4'Left'#3'X'#1#6'Height'#2#23#3'Top'#2'.'#5'Width'#2'N'#9'Increment'#5#0#0#0
+#0#0#0#128#255'?'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'MinValue'#5#0#0#0#0 +#0#0#0#0#128#255'?'#8'MaxValue'#5#0#0#0#0#0#0#0#200#5'@'#8'MinValue'#5#0#0#0
+#0#0#0#0#0#0#8'OnChange'#7#16'StartIdentChange'#8'TabOrder'#2#12#5'Value'#5#0 +#0#0#0#0#200#5#192#8'OnChange'#7#16'StartIdentChange'#8'TabOrder'#2#12#5'Val'
+#0#0#0#0#0#0#0#0#0#0#0#7'TButton'#8'Button11'#4'Left'#2#16#6'Height'#2#25#3 +'ue'#5#0#0#0#0#0#0#0#0#0#0#0#0#7'TButton'#8'Button11'#4'Left'#2#16#6'Height'
+'Top'#2'4'#5'Width'#2'K'#7'Caption'#6#6'Bullet'#7'OnClick'#7#13'Button11Clic' +#2#25#3'Top'#2'4'#5'Width'#2'K'#7'Caption'#6#6'Bullet'#7'OnClick'#7#13'Butto'
+'k'#8'TabOrder'#2#13#0#0#7'TButton'#8'Button12'#4'Left'#2'h'#6'Height'#2#25#3 +'n11Click'#8'TabOrder'#2#13#0#0#7'TButton'#8'Button12'#4'Left'#2'h'#6'Height'
+'Top'#2'4'#5'Width'#2'K'#7'Caption'#6#6'Number'#7'OnClick'#7#13'Button12Clic' +#2#25#3'Top'#2'4'#5'Width'#2'K'#7'Caption'#6#6'Number'#7'OnClick'#7#13'Butto'
+'k'#8'TabOrder'#2#14#0#0#11'TFontDialog'#11'FontDialog1'#11'MinFontSize'#2#0 +'n12Click'#8'TabOrder'#2#14#0#0#11'TFontDialog'#11'FontDialog1'#11'MinFontSi'
+#11'MaxFontSize'#2#0#4'left'#3'`'#1#3'top'#3#173#1#0#0#11'TSaveDialog'#11'Sa' +'ze'#2#0#11'MaxFontSize'#2#0#4'left'#3'`'#1#3'top'#3#173#1#0#0#11'TSaveDialo'
+'veDialog1'#10'DefaultExt'#6#4'.rtf'#6'Filter'#6#27'RichText file (*.rtf)|*.' +'g'#11'SaveDialog1'#10'DefaultExt'#6#4'.rtf'#6'Filter'#6#27'RichText file (*'
+'rtf'#7'Options'#11#17'ofOverwritePrompt'#14'ofEnableSizing'#12'ofViewDetail' +'.rtf)|*.rtf'#7'Options'#11#17'ofOverwritePrompt'#14'ofEnableSizing'#12'ofVi'
+#0#4'left'#3#24#1#3'top'#3#173#1#0#0#11'TOpenDialog'#11'OpenDialog1'#10'Defa' +'ewDetail'#0#4'left'#3#24#1#3'top'#3#173#1#0#0#11'TOpenDialog'#11'OpenDialog'
+'ultExt'#6#4'.rtf'#6'Filter'#6#27'RichText file (*.rtf)|*.rtf'#4'left'#3#208 +'1'#10'DefaultExt'#6#4'.rtf'#6'Filter'#6#27'RichText file (*.rtf)|*.rtf'#4'l'
+#0#3'top'#3#173#1#0#0#0 +'eft'#3#208#0#3'top'#3#173#1#0#0#0
]); ]);

View File

@@ -95,7 +95,7 @@ procedure TForm1.Button12Click(Sender: TObject);
var var
Num : TParaNumbering; Num : TParaNumbering;
begin begin
Num.Numbering:=TParaNumStyle(3); Num.Numbering:=TParaNumStyle(2);
RichMemo1.SetParaNumbering(RichMemo1.SelStart, RichMEmo1.SelLength, Num); RichMemo1.SetParaNumbering(RichMemo1.SelStart, RichMEmo1.SelLength, Num);
end; end;
@@ -191,8 +191,8 @@ var
begin begin
RichMemo1.GetParaMetric(RichMemo1.SelStart, m); RichMemo1.GetParaMetric(RichMemo1.SelStart, m);
m.StartIndent:=StartIdent.Value; m.FirstLine:=StartIdent.Value;
m.Offset:=OffsetIdent.Value; m.HeadIndent:=OffsetIdent.Value;
RichMemo1.SetParaMetric(RichMemo1.SelStart, RichMemo1.SelLength, m); RichMemo1.SetParaMetric(RichMemo1.SelStart, RichMemo1.SelLength, m);
end; end;
@@ -221,8 +221,8 @@ begin
StartIdent.OnChange:=nil; StartIdent.OnChange:=nil;
OffsetIdent.OnChange:=nil; OffsetIdent.OnChange:=nil;
StartIdent.Value:=m.StartIndent; StartIdent.Value:=m.FirstLine;
OffsetIdent.Value:=m.Offset; OffsetIdent.Value:=m.HeadIndent;
StartIdent.OnChange:=@StartIdentChange; StartIdent.OnChange:=@StartIdentChange;
OffsetIdent.OnChange:=@StartIdentChange; OffsetIdent.OnChange:=@StartIdentChange;

View File

@@ -71,6 +71,8 @@ type
class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLength: Integer; class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLength: Integer;
const AMetrics: TIntParaMetric); override; const AMetrics: TIntParaMetric); override;
class function GetParaNumbering(const AWinControl: TWinControl; TextStart: Integer;
var ANumber: TIntParaNumbering): Boolean; override;
class procedure SetParaNumbering(const AWinControl: TWinControl; TextStart, TextLen: Integer; class procedure SetParaNumbering(const AWinControl: TWinControl; TextStart, TextLen: Integer;
const ANumber: TIntParaNumbering); override; const ANumber: TIntParaNumbering); override;
@@ -388,9 +390,9 @@ begin
if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit; if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit;
RichEditManager.GetPara2(AWinControl.Handle, TextStart, para); RichEditManager.GetPara2(AWinControl.Handle, TextStart, para);
AMetrics.StartIndent:=para.dxStartIndent/20; AMetrics.FirstLine:=para.dxStartIndent/20;
AMetrics.EndIndent:=para.dxRightIndent/20; AMetrics.TailIndent:=para.dxRightIndent/20;
AMetrics.Offset:=para.dxOffset/20; AMetrics.HeadIndent:=(para.dxStartIndent+para.dxOffset)/20;
AMetrics.SpaceAfter:=para.dySpaceAfter/20; AMetrics.SpaceAfter:=para.dySpaceAfter/20;
AMetrics.SpaceBefore:=para.dySpaceBefore/20; AMetrics.SpaceBefore:=para.dySpaceBefore/20;
AMetrics.LineSpacing:=para.dyLineSpacing/20; AMetrics.LineSpacing:=para.dyLineSpacing/20;
@@ -411,9 +413,10 @@ begin
or PFM_OFFSET or PFM_OFFSET
or PFM_SPACEAFTER or PFM_SPACEBEFORE or PFM_SPACEAFTER or PFM_SPACEBEFORE
or PFM_LINESPACING; or PFM_LINESPACING;
para.dxStartIndent:=round(AMetrics.StartIndent*20); para.dxStartIndent:=round(AMetrics.FirstLine*20);
para.dxRightIndent:=round(AMetrics.EndIndent*20); para.dxRightIndent:=round(AMetrics.TailIndent*20);
para.dxOffset:=round(AMetrics.Offset*20); para.dxOffset:=round((AMetrics.HeadIndent-AMetrics.FirstLine)*20);
//round(AMetrics.HeadIndent*20);
para.dySpaceAfter:=round(AMetrics.SpaceAfter*20); para.dySpaceAfter:=round(AMetrics.SpaceAfter*20);
para.dySpaceBefore:=round(AMetrics.SpaceBefore*20); para.dySpaceBefore:=round(AMetrics.SpaceBefore*20);
para.dyLineSpacing:=round(AMetrics.LineSpacing*20); para.dyLineSpacing:=round(AMetrics.LineSpacing*20);
@@ -421,13 +424,41 @@ begin
end; end;
const const
PFN_ARABIC = 1; PFN_ARABIC = 2;
PFN_LCLETTER = 2; PFN_LCLETTER = 3;
PFN_LCROMAN = 3; PFN_LCROMAN = 4;
PFN_UCLETTER = 4; PFN_UCLETTER = 5;
PFN_UCROMAN = 5; PFN_UCROMAN = 6;
PFN_CUSTOM = 7; PFN_CUSTOM = 7;
class function TWin32WSCustomRichMemo.GetParaNumbering(
const AWinControl: TWinControl; TextStart: Integer;
var ANumber: TIntParaNumbering): Boolean;
var
para : PARAFORMAT2;
begin
Result:=False;
if not Assigned(RichEditManager) or not Assigned(AWinControl) then Exit;
RichEditManager.GetPara2(AWinControl.Handle, TextStart, para);
case para.wNumbering of
PFN_BULLET: ANumber.Numbering:=pnBullet;
PFN_ARABIC: ANumber.Numbering:=pnNumber;
PFN_LCLETTER: ANumber.Numbering:=pnLowLetter;
PFN_LCROMAN: ANumber.Numbering:=pnLowRoman;
PFN_UCLETTER: ANumber.Numbering:=pnUpLetter;
PFN_UCROMAN: ANumber.Numbering:=pnUpRoman;
PFN_CUSTOM: begin
ANumber.Numbering:=pnCustomChar;
ANumber.NumCustom:=WideChar(para.wNumberingStart);
end;
else
ANumber.Numbering:=pnNone;
end;
ANumber.NumIndent:=para.wNumberingTab/20;
Result:=true
end;
class procedure TWin32WSCustomRichMemo.SetParaNumbering( class procedure TWin32WSCustomRichMemo.SetParaNumbering(
const AWinControl: TWinControl; TextStart, TextLen: Integer; const AWinControl: TWinControl; TextStart, TextLen: Integer;
const ANumber: TIntParaNumbering); const ANumber: TIntParaNumbering);

View File

@@ -47,9 +47,9 @@ const
type type
TIntParaMetric = record TIntParaMetric = record
StartIndent : Double; // in points FirstLine : Double; // in points
EndIndent : Double; // in points TailIndent : Double; // in points
Offset : Double; // in points HeadIndent : Double; // in points
SpaceBefore : Double; // in points SpaceBefore : Double; // in points
SpaceAfter : Double; // in points SpaceAfter : Double; // in points
LineSpacing : Double; // todo: ? LineSpacing : Double; // todo: ?
@@ -101,6 +101,8 @@ type
var AMetric: TIntParaMetric): Boolean; virtual; var AMetric: TIntParaMetric): Boolean; virtual;
class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLen: Integer; class procedure SetParaMetric(const AWinControl: TWinControl; TextStart, TextLen: Integer;
const AMetric: TIntParaMetric); virtual; const AMetric: TIntParaMetric); virtual;
class function GetParaNumbering(const AWinControl: TWinControl; TextStart: Integer;
var ANumber: TIntParaNumbering): Boolean; virtual;
class procedure SetParaNumbering(const AWinControl: TWinControl; TextStart, TextLen: Integer; class procedure SetParaNumbering(const AWinControl: TWinControl; TextStart, TextLen: Integer;
const ANumber: TIntParaNumbering); virtual; const ANumber: TIntParaNumbering); virtual;
class procedure InDelText(const AWinControl: TWinControl; const TextUTF8: String; DstStart, DstLen: Integer); virtual; class procedure InDelText(const AWinControl: TWinControl; const TextUTF8: String; DstStart, DstLen: Integer); virtual;
@@ -178,6 +180,13 @@ begin
end; end;
class function TWSCustomRichMemo.GetParaNumbering(
const AWinControl: TWinControl; TextStart: Integer;
var ANumber: TIntParaNumbering): Boolean;
begin
Result := false;
end;
class procedure TWSCustomRichMemo.SetParaNumbering( class procedure TWSCustomRichMemo.SetParaNumbering(
const AWinControl: TWinControl; TextStart, TextLen: Integer; const AWinControl: TWinControl; TextStart, TextLen: Integer;
const ANumber: TIntParaNumbering); const ANumber: TIntParaNumbering);