MediaPortal.Dialogs.GUIDialogWindow.OnMessage C# (CSharp) Method

OnMessage() public method

public OnMessage ( GUIMessage message ) : bool
message MediaPortal.GUI.Library.GUIMessage
return bool
    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);
    }