Esempio n. 1
0
        private ViewSettings CreateNewView(string viewName, Navigator navigator, Guid taskId, TaskArgumentsHolder args)
        {
            //Create a new instance
            ViewSettings viewSettings = UIPConfiguration.Config.GetViewSettingsFromName(viewName);

            if (viewSettings == null)
            {
                throw new UIPException(Resource.ResourceManager.FormatMessage(Resource.Exceptions.RES_ExceptionViewConfigNotFound, viewName));
            }

            IView view = (IView)GenericFactory.Create(viewSettings);

            if (view is WindowsFormView)
            {
                WindowsFormView form = (WindowsFormView)view;
                ActivateForm(form, viewSettings, navigator, taskId, null, args);
            }
            else
            {
                WindowsFormControlView ctrl = (WindowsFormControlView)view;
                AddActiveControl(taskId, viewName, ctrl);
                ctrl.Disposed += new EventHandler(ControlDisposed);
                ActivateControl(ctrl, viewSettings, navigator, taskId, args);
                ctrl.Show();
            }

            return(viewSettings);
        }
Esempio n. 2
0
        /// <summary>
        /// Activates a specific view with activation arguments.
        /// </summary>
        /// <param name="previousView">The view currently displayed.</param>
        /// <param name="view">The name of the view to be displayed next.</param>
        /// <param name="navigator">The navigator.</param>
        /// <param name="args">The arguments for the next view.</param>
        public void ActivateView(string previousView, string view, Navigator navigator, TaskArgumentsHolder args)
        {
            Guid taskId = navigator.CurrentState.TaskId;

            InitiailizeFormAndViews(taskId);

            WindowsFormView        winFormView = GetActiveForm(taskId, view);
            WindowsFormControlView controlView = GetActiveControl(taskId, view);

            ViewSettings viewSettings = null;

            if (winFormView != null)
            {
                winFormView.Activate();
                winFormView.Visible = true;
                viewSettings        = UIPConfiguration.Config.GetViewSettingsFromName(winFormView.ViewName);
                ClosePreviousFormIfNecessary(winFormView, previousView, taskId, viewSettings);
            }
            else if (controlView != null)
            {
                ActivateControl(controlView, previousView);
                viewSettings = UIPConfiguration.Config.GetViewSettingsFromName(controlView.ViewName);
            }
            else
            {
                viewSettings = CreateNewView(view, navigator, taskId, args);
                ClosePreviousFormIfNecessary(null, previousView, taskId, viewSettings);
            }
        }
Esempio n. 3
0
 private void SetWinFormControlInternals(WindowsFormControlView control, ViewSettings viewSettings, Navigator navigator)
 {
     if (control != null)
     {
         control.InternalNavigator       = navigator;
         control.InternalNavigationGraph = navigator.Name;
         control.InternalViewName        = viewSettings.Name;
     }
 }
Esempio n. 4
0
        private void ActivateControl(WindowsFormControlView control, ViewSettings viewSettings, Navigator navigator, Guid taskId, TaskArgumentsHolder args)
        {
            control.InternalViewName = viewSettings.Name;
            control.InternalTaskId   = taskId;
            ControllerBase controller = navigator.GetController(control);

            control.InternalNavigator  = navigator;
            control.InternalController = controller;
            control.Initialize(args, viewSettings);
        }
Esempio n. 5
0
        private void ActivateControl(WindowsFormControlView control, string previousView)
        {
            IView previous = GetActiveControl(control.TaskId, previousView);

            if (previous == null)
            {
                foreach (WindowsFormControlView ctrl in GetActiveControls(control.TaskId).Values)
                {
                    ctrl.Enable(false);
                }
            }
            else
            {
                previous.Enable(false);
            }
            control.Enable(true);
            if (control.CanFocus)
            {
                control.Focus();
            }
        }
Esempio n. 6
0
        private void InitializeChildren(Control container, Navigator navigator, Guid taskId)
        {
            foreach (Control control in container.Controls)
            {
                if (control is WindowsFormControlView)
                {
                    WindowsFormControlView child = (WindowsFormControlView)control;
                    child.InternalNavigator = navigator;
                    child.InternalTaskId    = taskId;
                    string viewName = navigator.GetViewNameFromNodeName(child.Name);
                    child.InternalViewName = viewName;
                    ViewSettings viewSettings = UIPConfiguration.Config.GetViewSettingsFromName(viewName);
                    AddActiveControl(taskId, child.Name, child);
                    child.InternalController = navigator.GetController(child);
                    child.Initialize(null, viewSettings);
                }

                if (control.Controls.Count > 0)
                {
                    InitializeChildren(control, navigator, taskId);
                }
            }
        }
Esempio n. 7
0
 private void AddActiveControl(Guid taskId, string viewName, WindowsFormControlView ctrl)
 {
     GetActiveControls(taskId)[viewName] = ctrl;
 }