On 2001.11.12 07:46 Bertrand Klaiber wrote:
> Hi,
> 
> I've experienced some trouble with an application displaying in a public
> container.

Sorry for the delay, i've been busy

> 
> Having a public container in an application (PG_WIDGET_BOX), 
> another app can create and update widgets inside the public box it found
> with pgFindWidget().
> But the widgets are not correctly updated if the public box is not
> updated
> itself
> (by pgSubUpdate()) or if the screen is not refreshed (by pgUpdate()).
> The problem is that I cannot use pgSubUpdate() on a public widget 
> of another application:
> >>
> *** PicoGUI ERROR (HANDLE) : Access Denied reading handle
> <<
> Is it possible to change that and use pgSubUpdate() on public widgets ?
> For now, I had to create a local box inside the public box,
> and my application can update it.

I don't think any application should be allowed to pgSubUpdate() a public
widget. For example, consider that the public widget is a box containing
several applets. If one applet could run pgSubUpdate() on that public box,
it would cause all the applets to update, which probably isn't the desired
behavior.

You should be able to just run pgSubUpdate on the specific widgets that
have changed. Note that pgSubUpdate() updates _only_ the section of the
divtree including the specified widget and its children. This means that
it's usually not a good idea to call pgSubUpdate() when the layout has
changed. If the layout has changed, don't be afraid to call pgUpdate()-
it's smart enough to only recalculate/redraw the correct areas of the
screen. Another reason you may be having trouble with pgSubUpdate is if
you're running it on a transparent label. In order to redraw the background
of a transparent label, pgserver must redraw the label's container. If
you're using a label for a frequently-changing display you want to update
with pgSubUpdate, you should set its PG_WP_TRANSPARENT flag to zero.

> 
> 
> Another problem is when my application use pgUpdate()
> that affects another application using menus or dialog boxes.
> PicaoGUI may perhaps delay pgUpdate() operations if
> currently creating a menu, box,...
> or should we care about that and how?
> Also when adding or removing an app. toolbar while another application
> displays menus or dialog boxes, the menu may appear incompletely,
> or the dialog box may have a wrong size, thus being unreadable.

This is a problem i'm working on actually, since the same thing is showing
up when you use a textbox widget in a dialog box. The issue is that the
first time a popup box is updated, the popup's size is calculated and then
locked at whatever it comes up with.

> 
> Hope it make sense,
> thanks for any help
> Bertrand Klaiber
> 
> -- 
>    Bertrand Klaiber   Software Engineer     SMARTDATA                 
>    tel:              +41(0)21 693 84 98     PSE-A / EPFL                
>    fax:              +41(0)21 693 84 91     CH-1015 Lausanne          
>    mobile:           +41(0)78 602 00 56     S w i t z e r l a n d        
> 
>    mailto:[EMAIL PROTECTED]     http://www.smartdata.ch
> 
> _______________________________________________
> Pgui-devel mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/pgui-devel
> 

_______________________________________________
Pgui-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/pgui-devel

Reply via email to