> On Fri, 13 Jun 2008, Jane wrote:
>
> >> Rather than using fluid to build your UI, maybe you can build it
> >> programmatically
>
> > i thought about that too but that would make the positioning difficult.
>
> You'll be glad you did though, because there is more to widgets than just
> their position. There's also their callback function, etc. It is no fun
> having to change those manually.
>
> Assuming the positioning is evenly spaced, you can ease the positioning
> pain by using the positions of a first and second widget as a template
> for the relative positioning of the other widgets- if widget 1 is at
> (10,10) and widget 2 is at (20,10), the relative position of the second
> widget is (+10,0), so the third widget would be at (30,10), the fourth at
> (40,10), and so on.
>
> Or maybe it is an option not so show so many widgets? I've built a mixer
> app which shows several channel strips, but there is only 1 equalizer GUI-
> it is not duplicated per channel. Instead, when a channel is selected,
> the equalizer updates with the settings of that channel, and will then
> control the equalizing settings of that channel only.
>
> You'll want to separate data from UI from control functions from the
> beginning on (Read up on MVC, see wikipedia):
> Have a control class that updates the UI and data, and have the
> UI only call controll class functions. The benefit is that you'll
> be able to control the UI either by mouse or via external events (incoming
> MIDI messages, for instance). It will also make it easier to perform
> automatic testing on your code.
>
> Hope this helps,
> Marc
>

That indeed helps. I didn't know that there is relative positioning.
Also, thanks for the MVC hint. It looks like I can use this concept very well. 
I have lots of preset/master setup data (Model), I have an UI to View the data, 
and i need a Controller to load and change the data as well as to convert 
between raw data and widget values.
So, three classes with some set/get/data-converter methods. Allright, I think i 
can manage that after some C++ tutorials. :)

Thank you again guys,
Jan
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to