Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Refactoring TraceLineViewer for drag & drop

Developers
2006-12-22
2013-05-15
  • Martijn Rutten
    Martijn Rutten
    2006-12-22

    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).