>(1) Not being able to have my own main method is not great.
>(2) Similarly, having the format of my command-line arguments predefined
>for me is also not ideal.

Could you create a custom subclass of ApplicationContext? It's actually not 
terribly difficult to do so. Another alternative would be to add hooks into 
DesktopApplicationContext that you could override.

>(3) ApplicationContext - setInterval, clearInterval, setTimeout,
>clearTimeout are not great names.
>addIntervalTask(), removeIntervalTask(), addTimeoutTask(),
>removeTimeoutTask() would be much better.

I'm not opposed to changing the names, but I actually don't think they are too 
bad - they are consistent with their JavaScript equivalents. If we were to 
change it, "Task" is probably not the right terminology, since you're queueing 
a Runnable, not a pivot.util.concurrent.Task. "Callback" might be better.

>(4) DesktopApplicationContext has lots of static stuff.
>This is going to cause problems with those occasional desktop
>applications that need to construct more than one top-level window.
>From looking at the code, I can't even see any compelling reason why
>this stuff needs to be static.

Multiple top-level windows are not a primary use case for Pivot, since we 
provide our own Window hierarchy that runs within an application context. 
Again, for this use case, a custom application context may be appropriate.



Reply via email to