For some ideas about accomodating multiple "controls"
or visual components on a single isigraph control, 
see Lightweight_Components:

  http://www.jsoftware.com/jwiki/OlegKobchenko/Lightweight_Components

This is also how toolbar is implemented in 
media/paint addon.

I have not studied the details, but there should be
some ideas in some of the installed Demo games 
such as Solitaire.


--- Eric Iverson <[EMAIL PROTECTED]> wrote:

> The paint event is called by the host when it has a paint context ready for 
> painting for that control. This is more direct and efficient than doing the 
> commands and then doing a glpaint. The glpaint is required when you aren't 
> called from within the paint event. I think you are best to paint a control 
> when its paint event handler is called. With multiple isigraphs you probably 
> can't do better than what you have sketched out.
> 
> If the multiple isigraphs are contiguous you might be better to have a 
> single control. Then you'd have a single paint event and you could paint 
> each area as required.
> 
> ----- Original Message ----- 
> From: "Sherlock, Ric" <[EMAIL PROTECTED]>
> To: "Programming forum" <[email protected]>
> Sent: Thursday, February 07, 2008 8:42 PM
> Subject: [Jprogramming] paint event
> 
> 
> While trying to create a gl2 version of the GUI for the Set Game
> <http://www.jsoftware.com/jwiki/Scripts/Set_Game>, I found that to get
> the multiple isigraph controls to smoothly respond to resizing the form,
> I had to create a separate paint handler verb for each isigraph control.
> I understand that this works because resizing the form will
> automatically trigger the verb <formid>_<controlid>_paint for each
> control affected if it exists.
> 
> I thought I could get around this by using:
> setgl2_p0_paint=: 3 : 0
>   (i.#H) setpaint"0 1 H
> )
> 
> setpaint=: 4 : 0
>   glsel 'p'&,@": x
>   SYMBSZ=: getSymbSz glqwh''
>   glclear ''
>   drawsymb y
>   glpaint ''
> )
> 
> Where H is and 12 row boxed matrix:
> +-----+-----+-------+--------+
> |three|blue |shaded |diamond |
> +-----+-----+-------+--------+
> |three|green|outline|diamond |
> +-----+-----+-------+--------+
> ...
> +-----+-----+-------+--------+
> |two  |green|solid  |diamond |
> +-----+-----+-------+--------+
> 
> That is, anytime the setgl2_p0_paint verb was called to update the p0
> isigraph control, it would also update all the other isigraph controls
> (p1-p11). That doesn't work though and I ended up having to define all
> of:
> setgl2_p1_paint=:  3 :  '1 setpaint  1{H'
> setgl2_p2_paint=:  3 :  '2 setpaint  2{H'
> ...
> setgl2_p11_paint=: 3 : '11 setpaint 11{H'
> 
> 
> Is there anyway to simplify this?
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm 
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
> 



      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ 

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to