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