FYI, I just checked in a complete refactoring of the TraceLineViewer class:
- separated out all code for label separators and padding into the TraceLineSeparator class
- completely restructured drag & drop to not use getData() anymore but rely on the drawing order returned by getChildren(). This ensures that drag & drop keeps working correctly when lines are (auto) hidden.
- Restructured the SashListener and ISashClient to make this generically usuable for horizontal and vertical sashes. A nice added result of this is that now the width of the sash between the labels and the traces cannot exceed the space needed for the full label text.
This refactoring was needed to prepare for manual addition of sections and to fix the above drag & drop bug (and hey, the code was a mess).
Log in to post a comment.