[Lazarus] Column ruler on TSynEdit
Mark Morgan Lloyd
markMLl.lazarus at telemetry.co.uk
Tue Oct 22 15:03:26 CEST 2013
Martin wrote:
> On 22/10/2013 12:28, Mark Morgan Lloyd wrote:
>> Is there a painless way to get a column ruler at the top of a
>> TSynEdit, without having to do something like having multiple controls
>> in a frame and forcing sideways scrolling to track?
>>
>
> You can write a subclass of SynEdit, similar (but smaller than) to
> TIDESynEditor (in ide SourceSynEditor.pas)
>
> using something like (this displays the procedure top hint)
> FTopInfoDisplay: TSourceLazSynTopInfoView;
>
>
> That is reserving one line of the display for whatever you want it to be.
> It is some work though....
>
>
> Or go the full 9 yards: Implement a top/bottom gutter (and submit it as
> patch).
>
> In synedit, you have
> FPaintArea: TLazSynSurfaceManager;
>
>
> FPaintArea := TLazSynSurfaceManager.Create(Self);
> FPaintArea.TextArea := FTextArea;
> FPaintArea.LeftGutterArea := FLeftGutterArea;
> FPaintArea.RightGutterArea := FRightGutterArea;
> FPaintArea.DisplayView := FDisplayView;
>
>
> So that allows to add top/bottom gutter, and reserve the space needed
> (set correct boundaries for all other elements.
>
> Note there must be no gaps between them. Gaps will not be painted at all.
Thanks, I'll give that some thought. In practice it's only to show where
e.g. column 7 is on a punched card image.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the Lazarus
mailing list