Creating splitter windows

Topics: Developer Forum, User Forum
Oct 18, 2011 at 1:10 PM

Does anyone know if this is available "out of the box" with Scintilla .NET?

What I'm after is the ability to drag a "splitter" to split the view of a document into 2, where both views are of the same file.

 

Make any sense?!

 

John

Coordinator
Oct 19, 2011 at 4:26 AM

Sorry, no. It's not available out of the box. You'll have to create one using multiple Scintilla controls.


Jacob

Oct 19, 2011 at 7:38 AM

No problem. If/when we end up implementing it, I'll make our solution available to you all...

Jan 23, 2014 at 4:29 PM
Is there anyone working on a split view in the scintillaNET control?

I
Coordinator
Feb 18, 2014 at 2:17 AM
It's not currently part of any plans I have. (I'll let other ScintillaNET developers speak for themselves).

I've looked into this in the past and it is really problematic. For example, we can't get a grip block at the top or left of the vertical and horizontal scroll bars (like Visual Studio and other popular IDEs) because we don't render the scrollbars, the native Scintilla control does.

Problem two is that if not done correctly it can add a lot of bloat to users of ScintillaNET who don't wish to have splitters. e.g. it could end up being one control with 4 nested controls whether a user wants that or not. That also complicates the API. For example, how would you know which of the nested controls currently has focus? Or what the first visible line is for just one of those nested controls? Do the folds stay in sync or can a user fold split controls independently of each other? etc, etc, etc.... It would require a complete redesign of the API--a complete rewrite of the project.

In short, I've tried. Believe me I've tried. There are real technical limitations and not a strong enough use case.

Of course that doesn't prevent you in any way from making your own UserControl and dropping in 4 ScintillaNET controls yourself. For the reasons I just mentioned, that would actually be much easier.


Jacob