[Gtk-sharp-list] Draw() is deprecated because...?

Mike Leahy mgleahy at golden.net
Mon Nov 13 17:55:52 EST 2006


Hello list,

I noticed someone else asked this question a while back, but there was
never an answer posted.

I'm writing a new app, and I have a process that takes a bit of time to
run, and I want to be able to update a status bar and/or progress bar
with indications of what point the process is at.  I've figured out that
I can do the following:

winMain.Draw(winMain.Allocation);

This code works like the typical winMain.Refresh() function that I
normally would use with Windows forms in MS.Net, but I see the warning
that it is deprecated.

Now, I've read numerous replies to other questions about refreshing the
displayed window using the QueueDraw() function...I can assure you that
this has no impact on my tool.  The winMain.Draw() is the only thing
I've found so far that actually updates the window immediately.  I
understand there are other approaches such as using timeouts, etc...but
I can't see how that makes things preform any better.  That is, to
accomplish this with timeouts (at least as far as I know how) I have to
break up one function into many functions that call each other in a
sequence timeout commands.  I don't see how this improves the
performance at all, since I have to make the program wait to redraw the
window anyway...

So...since I don't want to use code that will eventually not work with
some future version of Mono/Gtk#, what is my best option (besides not
showing any status updates to the user)?

Thanks in advance for any advice,
Mike


More information about the Gtk-sharp-list mailing list