LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Is there an easy way to do crossed splitter bars?

Say I have four plots I want to display at once in a 2x2 grid. Right now I can use splitters to create the four resizable sections that will both resize with the screen and when the user drags the handles around, BUT, two of the sections are independent. For aesthetic reasons I'd like to keep the splitters crossed at a single point.

 

I can use some Pane Size events and manually handle all of this, but if there's a toolkit or something out there that gives me a "2D" splitter that would be simpler 🙂 Basically, it would be nice if the user could drag one vertical splitter left and right, moving both the top and bottom sections, OR move one horizontal splitter up and down, moving both the left and right sections, OR hover over the middle and get a "drag" option that moved both at once.

 

This is a "would be neat" feature, not a critical one, so it's not worth the time to program, and Google didn't turn up anything helpful.

0 Kudos
Message 1 of 4
(2,176 Views)

What kind of graphs are these? Do you show the axes? Can you show a screenshot?

 

(If  you think have a good idea for a new feature, post in the LabVIEW idea exchange.)

0 Kudos
Message 2 of 4
(2,153 Views)

I've been thinking about adding it to my dynamic scaling library...

 

I haven't needed it myself since I made the library, but I know it's a lot of work to make from scratch.

 

I probably do need it in a month or two, but I'm not sure if you can wait that long. I'd actually require a grid that resizes as one (all elements scale proportionally), but while I make that I probably also implement a grid where the individual elements are scalable.

 

I have done it manually (before I had the library). "Simply" catch pane scale events, and scale the corresponding panes accordingly. However, there's sooo much boilerplate code needed it's a daunting task...

0 Kudos
Message 3 of 4
(2,108 Views)

I don't think there's an automagic solution. You'll probably need to track a move action on the 'free' part and move the other one programmatically. For the 'cross' functionality I assume you'll have to check the 'other' splitters position in the event to see if you're in the crossing and set/trigger some move status/action for both.

Interesting problem. 🙂

/Y

G# - Award winning reference based OOP for LV, for free! - Qestit VIPM GitHub

Qestit Systems
Certified-LabVIEW-Developer
0 Kudos
Message 4 of 4
(2,098 Views)