Exemple #1
0
        /// <summary>
        /// Maximum Flexibility of Window Definition version of Show In Window
        /// </summary>
        /// <param name="window">THe Window in which to show this View</param>
        /// <param name="windowTitle">A Title for the Window</param>
        /// <param name="windowWidth">The Width of the Window</param>
        /// <param name="windowHeight">The Height of the Window</param>
        /// <param name="dock">How should the View be Docked</param>
        /// <param name="onWindowClosed">Event handler for when the window is closed</param>
        public void ShowInWindow(bool modal, ViewWindow window, string windowTitle, double windowWidth, double windowHeight, Dock dock, OnWindowClose onWindowClose)
        {
            this.onWindowClosed = onWindowClose;

            viewWindow = window;
            viewWindow.Title = windowTitle;

            DockPanel.SetDock(this, dock);
            // The viewWindow must have a dockPanel called WindowDockPanel. If you want to change this to use some other container on the window, then
            // the below code should be the only place it needs to be changed.
            viewWindow.WindowDockPanel.Children.Add(this);

            if (windowWidth == 0 && windowHeight == 0)
            {
                viewWindow.SizeToContent = SizeToContent.WidthAndHeight;
            }
            else
            {
                viewWindow.SizeToContent = SizeToContent.Manual;
                viewWindow.Width = windowWidth;
                viewWindow.Height = windowHeight;
            }

            if (modal)
            {
                viewWindow.ShowDialog();
            }
            else
            {
                viewWindow.Show();
            }
        }
 public void ShowInWindow(ViewWindow MainWindow)
 {
     if (view != null)
     {
         View.OnUserClosedWindow += new BaseView.WindowsClosedHandler(View_OnUserClosedWindow);
         View.ShowInWindow(MainWindow, "School Scheduler", 0, 0, Dock.Top);
     }
 }
 public void Dispose()
 {
     ViewWindow.WindowDockPanel.Children.Remove(this);
     if (ViewWindow.WindowDockPanel.Children.Count.Equals(0))
     {
         if(viewWindow.IsActive)
             ViewWindow.DialogResult = true;
         ViewWindow.Close();
     }
     viewWindow = null;
 }
        public void ShowInWindow(ViewWindow window, string windowTitle, double windowWidth, double windowHeight, Dock dock)
        {
            viewWindow = window;
            ViewWindow.Title = windowTitle;

            DockPanel.SetDock(this, dock);

            ViewWindow.WindowDockPanel.Children.Add(this);

            ViewWindow.MinHeight = 100;
            ViewWindow.MinWidth = 200;

            if (windowWidth == 0 && windowHeight == 0)
            {
                viewWindow.SizeToContent = SizeToContent.WidthAndHeight;
            }
            else
            {
                ViewWindow.SizeToContent = SizeToContent.Manual;
                ViewWindow.Width = windowWidth;
                ViewWindow.Height = windowHeight;
            }

            bool? dialogResult = ViewWindow.ShowDialog();
            switch (dialogResult)
            {
                case true:
                    // User accepted dialog box
                    break;
                case false:
                    // User canceled dialog box
                    WindowClosed();
                    break;
                default:
                    // Indeterminate
                    break;
            }
        }
 private void ViewHandler()
 {
     while (CurrentView != ViewModes.Close)
     {
         Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
         switch (CurrentView) {
             case ViewModes.Main:
                 ViewWindow MainWindow = new ViewWindow();
                 Current_ViewModel = new LoginViewModel();
                 ((LoginViewModel)Current_ViewModel).OnUserLogin += new LoginViewModel.UserLoginHandler(User_Login);
                 Current_ViewModel.OnUserClosedWindow += new BaseViewModel.WindowsClosedHandler(User_Close);
                 Current_ViewModel.ShowInWindow(MainWindow);
                 break;
             case ViewModes.Editor:
                 ViewWindow EditorWindow = new ViewWindow();
                 Current_ViewModel = new EditViewModel(CurrentUser);
                 ((EditViewModel)Current_ViewModel).OnUserEdited += new EditViewModel.UserEditingHandler(User_Edited);
                 Current_ViewModel.OnUserClosedWindow += new BaseViewModel.WindowsClosedHandler(User_Close);
                 Current_ViewModel.ShowInWindow(EditorWindow);
                 break;
         }
     }
 }
Exemple #6
0
 /// <summary>
 /// Show this control in an existing window, by default docked top.
 /// </summary>
 /// <param name="window"></param>
 public void ShowInWindow(bool modal, ViewWindow window)
 {
     ShowInWindow(modal, window, window.Title, window.Width, window.Height, Dock.Top, null);
 }
Exemple #7
0
        /// <summary>
        /// Tell the View to close itself. Handle the case where we're in a window and the window needs closing.
        /// </summary>
        /// <param name="dialogResult"></param>
        public void ViewModelClosingHandler(bool? dialogResult)
        {
            if (viewWindow == null)
            {
                System.Windows.Controls.Panel panel = this.Parent as System.Windows.Controls.Panel;
                if (panel != null)
                {
                    panel.Children.Remove(this);
                }
            }
            else
            {
                viewWindow.Closed -= ViewsWindow_Closed;

                if (viewWindow.IsDialogWindow)
                {
                    // If the window is a Dialog and is not actiuve it must be in the process of being closed
                    if (viewWindow.IsActive)
                    {
                        viewWindow.DialogResult = dialogResult;
                    }
                }
                else
                {
                    viewWindow.Close();
                }
                viewWindow = null;
            }
            // Process the ViewClosed method to cater for if this has been instigated by the user closing a window, rather than by
            // the close being instigated by a ViewModel
            ViewClosed();
        }
        private void Register()
        {
            if (!String.IsNullOrEmpty(UserEmail))
            {
                try
                {
                    LoginUser.GetUser_ByEmail();
                    ErrorText = "User already exists";
                    ErrorActive = true;
                    LoginUser = new User();
                }
                catch (ArgumentNullException ex)
                {
                    if (ex.Message.Equals("User does not exists\r\nParameter name: Get User info fail"))
                    {
                        ViewWindow RegisterWindow;
                        BaseViewModel RegisterWindow_ViewModel;

                        RegisterWindow = new ViewWindow();
                        RegisterWindow_ViewModel = new RegisterViewModel(LoginUser);
                        ((RegisterViewModel)RegisterWindow_ViewModel).OnUserRegistrated += Registradet;
                        RegisterWindow_ViewModel.ShowInWindow(RegisterWindow);
                    }
                    else
                    {
                        ErrorText = ex.Message;
                        ErrorActive = true;
                    }
                }
                catch (Exception ex)
                {
                    ErrorText = ex.Message;
                    ErrorActive = true;
                }
            }
            else
            {
                ErrorText = "Missing email";
                ErrorActive = true;
            }
        }
 public MainViewModel(ViewWindow ThisWindow)
 {
     ThisView = new MainView();
     ThisView.OpenInWindow(ThisWindow);
 }
Exemple #10
0
 public void ShowInWindow(ViewWindow window)
 {
     ShowInWindow(window, window.Title, window.Width, window.Height, Dock.Top);
 }