Example #1
0
        /// <summary>
        ///   This method is activated when a program menu was selected. It performs the needed operations in order to
        ///   translate the selected program menu into the matching operation
        /// </summary>
        /// <param name="contextID">active/target context (irelevant for RC)</param>
        /// <param name="menuEntryProgram">the selected menu \ bar menuEntryProgram object</param>
        /// <param name="activeForm"></param>
        /// <param name="ActivatedFromMDIFrame"></param>
        /// <returns></returns>
        internal static void onProgramMenuSelection(Int64 contextID, MenuEntryProgram menuEntryProgram, MgForm activeForm, bool ActivatedFromMDIFrame)
        {
            Task menuTask = getLastFocusedTask(activeForm);

            ClientManager.Instance.RuntimeCtx.LastClickedMenuUid = menuEntryProgram.menuUid();
            RunTimeEvent programMenuEvt = new RunTimeEvent(menuEntryProgram, menuTask, ActivatedFromMDIFrame);

            ClientManager.Instance.EventsManager.addToTail(programMenuEvt);
        }
Example #2
0
        public TaskDefinitionId TaskCalledByMenu(int menuId, TaskBase mainProg)
        {
            //fixed bug#:431559, the menu need to be take from menuCtlIndex main program.
            ApplicationMenus applicationMenus = getApplicationMenus(mainProg);
            MenuEntryProgram menuEntry        = applicationMenus.menuByUid(menuId) as MenuEntryProgram;

            TaskDefinitionId taskDefinitionId = new TaskDefinitionId(menuEntry.CtlIndex, menuEntry.ProgramIsn, 0, true);

            return(taskDefinitionId);
        }
Example #3
0
        /// <summary>
        ///   Create an Event for the passed program menu entry
        /// </summary>
        /// <param name = "menuEntryProgram">the selected program menu entry</param>
        /// <param name = "currentTask">the task from which the menu was activated</param>
        /// <param name = "activatedFromMDIFrame"></param>
        internal RunTimeEvent(MenuEntryProgram menuEntryProgram, Task currentTask, bool activatedFromMDIFrame)
            : base(ConstInterface.EVENT_TYPE_MENU_PROGRAM)
        {
            PrgFlow          = menuEntryProgram.Flow;
            PublicName       = menuEntryProgram.PublicName;
            PrgDescription   = menuEntryProgram.Description;
            CopyGlobalParams = menuEntryProgram.CopyGlobalParameters;
            MainProgVars     = menuEntryProgram.MainProgVars;

            ActivatedFromMDIFrame = activatedFromMDIFrame;

            _task     = currentTask;
            _menuUid  = menuEntryProgram.menuUid();
            _menuComp = menuEntryProgram.getParentMgMenu().CtlIdx;
        }
Example #4
0
        /// <summary>
        /// Create an open task command from a menu command
        /// </summary>
        /// <param name="command"></param>
        /// <returns></returns>
        internal LocalRunTimeCommandBase CreateMenuExecuteOperationCommand(MenuCommand command)
        {
            // Get the relevant menu entry
            // QCR #283731. Use MenuComp on command for the relevant Ctl.
            Task             mainProg         = MGDataCollection.Instance.GetMainProgByCtlIdx(command.MenuComp);
            ApplicationMenus applicationMenus = Manager.MenuManager.getApplicationMenus(mainProg);
            MenuEntryProgram menuEntry        = applicationMenus.menuByUid(command.MenuUid) as MenuEntryProgram;

            TaskDefinitionId taskDefinitionId = new TaskDefinitionId(menuEntry.CtlIndex, menuEntry.ProgramIsn, 0, true);

            ArgumentsList argList = GetCommandArgumentList(command, menuEntry, mainProg);

            return(new LocalRunTimeCommandOpenTask(taskDefinitionId)
            {
                ArgList = argList, CallingTaskTag = command.TaskTag, PathParentTaskTag = command.TaskTag
            });
        }
Example #5
0
        /// <summary>
        /// get the argument list from the command - either from the operation or from the menu entry
        /// </summary>
        /// <param name="command"></param>
        /// <param name="menuEntry"></param>
        /// <param name="mainProg"></param>
        /// <returns></returns>
        private ArgumentsList GetCommandArgumentList(IClientCommand command, MenuEntryProgram menuEntry, Task mainProg)
        {
            ExecOperCommand cmd = command as ExecOperCommand;

            ArgumentsList argList = null;

            if (cmd != null && cmd.Operation != null)
            {
                argList = cmd.Operation.GetArgList();
            }
            else if (menuEntry.MainProgVars != null)
            {
                argList = new ArgumentsList();
                foreach (String item in menuEntry.MainProgVars)
                {
                    Argument argument = new Argument();
                    argument.fillDataByMainProgVars(item, mainProg);
                    argList.Add(argument);
                }
            }

            return(argList);
        }
Example #6
0
 /// <summary>
 /// Handles menu selection
 /// </summary>
 /// <param name="contextID">active/target context (irelevant for RC)</param>
 /// <param name="menuEntry"></param>
 /// <param name="activeForm"></param>
 /// <param name="activatedFromMDIFrame"></param>
 private void OnMenuProgramSelection(Int64 contextID, MenuEntryProgram menuEntryProgram, GuiMgForm activeForm, bool activatedFromMdiFrame)
 {
     MenuManager.onProgramMenuSelection(contextID, menuEntryProgram, (MgForm)activeForm, activatedFromMdiFrame);
 }