Recent

Author Topic: TSynEditMarkup info?  (Read 5862 times)

AlexTP

  • Hero Member
  • *****
  • Posts: 2402
    • UVviewsoft
TSynEditMarkup info?
« on: June 11, 2014, 07:03:13 am »
@Martin

Can you write text, wiki text, about
"What is TSynEditMarkup and its desdendants",
"How to use all standard descandants" (maybe nothing needed? how they plugged in?),
"What is TSynEditMarkupManager",
"What can my own Markup descendant do"
(e.g.:
a) change font/color of any text fragment - need methods nnnnnnnnn,
b) draw some figure like [...] righter than text line - need methods mmmmmmmm,
c) draw non-printable chars - need methods mmmmmmmmm
)
« Last Edit: June 11, 2014, 07:20:40 am by Alex22 »

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 9870
  • Debugger - SynEdit - and more
    • wiki
Re: TSynEditMarkup info?
« Reply #1 on: June 12, 2014, 07:44:44 pm »
Each TSynEditMarkup has a  MarkupInfo => that is where the color is stored. IT can have more than one.

All that is needed is add a new TSynEditMarkup  to
Code: [Select]
fMarkupManager.AddMarkUp(fMarkupSpecialChar);
It will own it, and destroy at the end / when synedit is destroyed.


You need to support/override
Code: [Select]
    function GetMarkupAttributeAtRowCol(const aRow: Integer;
                                        const aStartCol: TLazSynDisplayTokenBound;
                                        const AnRtlInfo: TLazSynDisplayRtlInfo): TSynSelectedColor; override;
    procedure GetNextMarkupColAfterRowCol(const aRow: Integer;


GetNextMarkupColAfterRowCol
   Next column to switch on/off markup

GetMarkupAttributeAtRowCol
return
  nil = markup off
  MarkupInfo = markup on



More later / see existing markup

    Procedure PrepareMarkupForRow(aRow : Integer); override;
  optional: prepare your data

 

TinyPortal © 2005-2018