From: Paul G. <dr...@gm...> - 2007-11-10 21:12:29
|
Good job explaining what I failed to explain earlier. I think this is a great method, Toby thinks it is, Javier seems uneasy about the idea. Regardless, I'll start the separation, since I REALLY want to see 0.4.x become usable, and I really think the model/view separation can afford us many possibilities in the future. -Paul On 11/10/07, Tobias Doerffel <tob...@gm...> wrote: > > Am Donnerstag, 8. November 2007 01:11:05 schrieb Javier Serrano Polo: > > El dc 07 de 11 del 2007 a les 17:39 -0500, en/na Paul Giblock va > > > > escriure: > > > I don't understand what you mean by "helpers". > > > > It's the name I used for detuningHelper. It was previously a knob, like > > the ones in automatableSlider and surroundArea, the latter being a good > > example a model/view separation. > > > > > Are you saying to bind the control to a helper? Sounds like the same > > > idea as the ModelView but with different names. > > > > Yes, the basics are already there. To do the model/view you would > > connect the "knobs" of an existing instrument instead of creating them. > That's what we want. Basically create only one view (no matter whether an > instrument or an instrument-track-window or whatever) and always just set > the > current model (i.e. the data) on it using the setModel()-method. All > signal/slot-connections are handled by the according models on their own, > so > as already written in my code in a mail a few days ago, the > setModel()-method > of a view will connect itself to dataChanged()/modelChanged()-signals of > the > model and also connect its own signals to according slots of the model. > > For example there's no need for instrument-plugin-developers to do > anything of > these. For their instrument (which only will be a model in the future) > they > simply create a knobModel and use knobModel->value() wherever they need > it. > In the instrument-view-class you create a knob-view. Inside the > setModel()-method (which is being overloaded from modelView) you call > setModel( instrumentModel->myKnobModel ) for your knob-view and everything > else is done automatically :) > > > > In the automatableSlider case we should use a lighter knob, > > > ie, > > > automatableModel > > > > automatableSlider should use an automatableObject with signals (QObject) > > instead of a knob. > I guess we've just misunderstood a bit. No one wants to make knob a > base-class > for something ;-) We just want to centralize all common properties (such > as a > min, max-value and an actual value) into one base-class. automatableObject > does that currently, however it must become usable with our > model/view-approach and that's why it'll be derived from model-base-class. > > toby > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > LMMS-devel mailing list > LMM...@li... > https://lists.sourceforge.net/lists/listinfo/lmms-devel > > > |