Fixed Exception dialog disapearing after a view second when exception occurs during app startup.
Problem was caused by splashscreen timeout, wx closing averything else if there is no more main frame.
Changes:
- no more timeout for splashscreen
- use wx.App OnInit method to give first operation to mainloop, object are then now created in mainloop
- main loop is then created _before_ showing splash screen
- no more wxyield or wx processevent tricks needed to display splash screen
- exception handler not blocking anymore on dialog (callafter)
- because of mainloop being there before everything, exit must be called explicitely if exception caught during startup -> exit parameter in handle_exception + try/except around startup calls
UNTESTED ON WINDOWS
// import Nevow.Athena
function init() {
Nevow.Athena.Widget.fromAthenaID(1).callRemote('HMIexec', 'HMIinitialisation');
}
WebInterface.PLC = Nevow.Athena.Widget.subclass('WebInterface.PLC');
WebInterface.PLC.method(
'updateHMI',
function (self, data) {
d = self.callRemote('getPLCElement');
d.addCallback(
function liveElementReceived(le) {
d2 = self.addChildWidgetFromWidgetInfo(le);
d2.addCallback(
function childAdded(widget) {
var node = self.nodeById('content');
node.replaceChild(widget.node, node.getElementsByTagName('div')[0]);
init();
});
});
});
Divmod.Base.addLoadEvent(init);