<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Oct 20, 2014 at 12:26 PM, Philippe Coatmeur <span dir="ltr"><<a href="mailto:philcm@gnu.org" target="_blank">philcm@gnu.org</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000">
Now for the direct questions: <br>
<ul>
<li>Is it a proper NTK widget class declaration, that would expose
a <tt>value()</tt> method?</li>
<li>Are those proper NTK widget class instances?</li></ul></div></blockquote><div>You must derive from an NTK widget in order for it to work properly. See (pseudo) code:</div><div> </div></div><div class="gmail_extra">// derive from slider, to provide</div><div class="gmail_extra">// - value() : to get the current value</div><div class="gmail_extra">// - value(float newVal) : to set a new value</div><div class="gmail_extra">// - redraw() will cause the widget to get repainted at the next opportunity.</div><div class="gmail_extra">class MyWidget : public Fl_Slider </div><div class="gmail_extra">{</div><div class="gmail_extra"> public:</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>MyWidget( int, int, int, int, const char* ) :</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>Fl_Slider( ... blah blah ... )</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>{</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>// set default value:</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>value( 0.5 );</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>}</div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>void draw()</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>{</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>// draw stuff based on value() here</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>line_to( 0, width * value() );</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>}</div><div class="gmail_extra"><br></div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>// note: there's no *explicit* value() function here, it's inherited from Fl_Slider.</div><div class="gmail_extra">};</div><div class="gmail_extra"><br></div><div class="gmail_extra">class NtkLv2UI</div><div class="gmail_extra">{</div><div class="gmail_extra"> public:</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>NtkLv2UI()</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>{</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>wid = new MyWidget( 10, 10, 200, 25 );</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>}</div><div class="gmail_extra"><span class="" style="white-space:pre"> </span>MyWidget wid;</div><div class="gmail_extra">};</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra">NtkLv2UI::port_event()</div><div class="gmail_extra">{</div><div class="gmail_extra"> if ( portNumber == VOLUME )</div><div class="gmail_extra"> {</div><div class="gmail_extra"> wid->value( portValue );</div><div class="gmail_extra"> wid->redraw();</div><div class="gmail_extra"> }</div><div class="gmail_extra">}</div><div class="gmail_extra"><br></div><div class="gmail_extra">Hope that clears things up somewhat, -Harry</div><div class="gmail_extra"><br></div><div class="gmail_extra">PS: Hermann, FLTK / NTK will delete child instances when a window is deleted. The window itself should be deleted though!</div><div><br></div>-- <br><br><a href="http://www.openavproductions.com" target="_blank">http://www.openavproductions.com</a>
</div></div>