Exemple #1
0
        /// <summary>process "timer" event</summary>
        /// <param name = "mgTimer">object of 'MgTimer' class</param>
        internal void ProcessTimer(MgTimer mgTimer)
        {
            MGData mgd  = ((RCTimer)mgTimer).GetMgdata();
            var    task = mgd.getFirstTask();

            // MgTimer/RCTimer uses interval in milliseconds but RuntimeEvent uses interval in seconds
            // so convert it to seconds.
            int  seconds = (((RCTimer)mgTimer).TimerIntervalMiliSeconds) / 1000;
            bool isIdle  = ((RCTimer)mgTimer).IsIdleTimer;

            if (mgd.IsAborting)
            {
                return;
            }

            var rtEvt = new RunTimeEvent(task, true);

            rtEvt.setTimer(seconds, mgd.GetId(), isIdle);
            rtEvt.setMainPrgCreator(rtEvt.getTask());
            if (!isIdle)
            {
                rtEvt.setCtrl((MgControl)task.getLastParkedCtrl());
            }
            rtEvt.setInternal(InternalInterface.MG_ACT_TIMER);
            ClientManager.Instance.EventsManager.addToTail(rtEvt);
        }
Exemple #2
0
        /// <summary> Add Open Context Menu event on right click on form.</summary>
        /// <param name = "guiMgControl">control </param>
        /// <param name = "guiMgForm">code of internal event </param>
        /// <param name = "left">code of internal event </param>
        /// <param name = "top">code of internal event </param>
        /// <param name = "line">code of internal event </param>
        public void AddOpenContextMenuEvent(GuiMgControl guiMgControl, GuiMgForm guiMgForm, int left, int top, int line)
        {
            MgControl ctrl = null;
            Task      task = null;

            if (guiMgControl != null)
            {
                if (guiMgControl is MgControl)
                {
                    ctrl = (MgControl)guiMgControl;
                    if (ctrl.Type == MgControlType.CTRL_TYPE_SUBFORM)
                    {
                        task = (Task)ctrl.GetSubformMgForm().getTask();
                    }
                    else
                    {
                        task = (Task)((MgControlBase)guiMgControl).getForm().getTask();
                    }
                }
            }
            else
            {
                task = (Task)((MgFormBase)guiMgForm).getTask();
            }

            // Prepare event for MG_ACT_CONTEXT_MENU to open context menu.
            var rtEvt = new RunTimeEvent(task);

            rtEvt.setInternal(InternalInterface.MG_ACT_CONTEXT_MENU);

            rtEvt.setCtrl(ctrl);
            //Prepare an argument list for left and top co-ordinate.
            var argsList = new GuiExpressionEvaluator.ExpVal[3];

            argsList[0] = new GuiExpressionEvaluator.ExpVal(StorageAttribute.ALPHA, false, left.ToString());
            argsList[1] = new GuiExpressionEvaluator.ExpVal(StorageAttribute.ALPHA, false, top.ToString());
            argsList[2] = new GuiExpressionEvaluator.ExpVal(StorageAttribute.ALPHA, false, line.ToString());
            var args = new ArgumentsList(argsList);

            rtEvt.setArgList(args);

            ClientManager.Instance.EventsManager.addToTail(rtEvt);
        }