public override bool OnMessage(GUIMessage message)
{
switch (message.Message)
{
case GUIMessage.MessageType.GUI_MSG_WINDOW_INIT:
{
_prevLayer = GUILayerManager.GetLayer(GUILayerManager.LayerType.Dialog);
_prevOverlay = GUIGraphicsContext.Overlay;
GUIGraphicsContext.Overlay = base.IsOverlayAllowed;
GUILayerManager.RegisterLayer(this, GUILayerManager.LayerType.Dialog);
GUIPropertyManager.SetProperty("#currentmoduleid", Convert.ToString(GUIWindowManager.ActiveWindow));
GUIPropertyManager.SetProperty("#currentmodule", GetModuleName());
Log.Debug("DialogWindow: {0} init", this.ToString());
GUIMessage msg = new GUIMessage(GUIMessage.MessageType.GUI_MSG_SETFOCUS, GetID, 0, _defaultControlId, 0, 0,
null);
OnMessage(msg);
OnPageLoad();
return true;
}
case GUIMessage.MessageType.GUI_MSG_WINDOW_DEINIT:
{
//base.OnMessage(message);
// TODO: Establishes a circular loop
// OnPageDestroy(_parentWindowID);
OnPageDestroy(GetID); // mantis 2996: Dialog windows do not animate when closed
_running = false;
_parentWindowID = 0;
_parentWindow = null;
GUIGraphicsContext.Overlay = _prevOverlay;
Dispose();
DeInitControls();
GUILayerManager.UnRegisterLayer(this);
GUILayerManager.RegisterLayer(_prevLayer, GUILayerManager.LayerType.Dialog);
_prevLayer = null;
return true;
}
}
return base.OnMessage(message);
}