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]

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to