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