Ejemplo n.º 1
1
 public FullscreenHandler(MainWindow window)
 {
     this.window = window;
     this.oldWindowState = window.WindowState;
     this.oldMenuVisibility = window.mainMenu.Visibility;
 }
Ejemplo n.º 2
0
 public FullscreenCommand(string name, MainWindow wnd, InputGesture inputGesture)
     : base(name, inputGesture)
 {
     this.wnd = wnd;
     this.wnd.PreviewKeyDown += wnd_PreviewKeyDown;
     this.fullscreenHandler = new FullscreenHandler(wnd);
     this.fullscreenHandler.FullscreenChanged += fullscreenHandler_FullscreenChanged;
 }
Ejemplo n.º 3
0
        public Commands(MainWindow wnd)
        {
            var pdfPanel = wnd.MoonPdfPanel;
            Predicate<object> isPdfLoaded = f => wnd.IsPdfLoaded(); // used for the CanExecute callback

            this.OpenCommand = new DelegateCommand("Open...", f =>
                {
                    var dlg = new Microsoft.Win32.OpenFileDialog { Title = "Select PDF file...", DefaultExt = ".pdf", Filter = "PDF file (.pdf)|*.pdf",CheckFileExists = true };

                    if (dlg.ShowDialog() == true)
                    {
                        try
                        {
                            pdfPanel.OpenFile(dlg.FileName);
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(string.Format("An error occured: " + ex.Message));
                        }
                    }
                }, f => true, new KeyGesture(Key.O, ModifierKeys.Control));

            this.ExitCommand = new DelegateCommand("Exit", f => wnd.Close(), f => true, new KeyGesture(Key.Q, ModifierKeys.Control));

            this.PreviousPageCommand = new DelegateCommand("Previous page", f => pdfPanel.GotoPreviousPage(), isPdfLoaded, new KeyGesture(Key.Left));
            this.NextPageCommand = new DelegateCommand("Next page", f => pdfPanel.GotoNextPage(), isPdfLoaded, new KeyGesture(Key.Right));
            this.FirstPageCommand = new DelegateCommand("First page", f => pdfPanel.GotoFirstPage(), isPdfLoaded, new KeyGesture(Key.Home));
            this.LastPageCommand = new DelegateCommand("Last page", f => pdfPanel.GotoLastPage(), isPdfLoaded, new KeyGesture(Key.End));
            this.GotoPageCommand = new DelegateCommand("Goto page...", f =>
            {
                var dlg = new GotoPageDialog(pdfPanel.GetCurrentPageNumber(), pdfPanel.TotalPages);

                if (dlg.ShowDialog() == true)
                    pdfPanel.GotoPage(dlg.SelectedPageNumber.Value);
            }, isPdfLoaded, new KeyGesture(Key.G, ModifierKeys.Control));

            this.RotateRightCommand = new DelegateCommand("Rotate right", f => pdfPanel.RotateRight(), isPdfLoaded, new KeyGesture(Key.Add, ModifierKeys.Control | ModifierKeys.Shift));
            this.RotateLeftCommand = new DelegateCommand("Rotate left", f => pdfPanel.RotateLeft(), isPdfLoaded, new KeyGesture(Key.Subtract, ModifierKeys.Control | ModifierKeys.Shift));

            this.ZoomInCommand = new DelegateCommand("Zoom in", f => pdfPanel.ZoomIn(), isPdfLoaded, new KeyGesture(Key.Add));
            this.ZoomOutCommand = new DelegateCommand("Zoom out", f => pdfPanel.ZoomOut(), isPdfLoaded, new KeyGesture(Key.Subtract));

            this.FitWidthCommand = new DelegateCommand("Fit width", f => pdfPanel.ZoomToWidth(), isPdfLoaded, new KeyGesture(Key.D4, ModifierKeys.Control));
            this.FitHeightCommand = new DelegateCommand("Fit height", f => pdfPanel.ZoomToHeight(), isPdfLoaded, new KeyGesture(Key.D5, ModifierKeys.Control));
            this.CustomZoomCommand = new DelegateCommand("Custom zoom", f => pdfPanel.SetFixedZoom(), isPdfLoaded, new KeyGesture(Key.D6, ModifierKeys.Control));

            this.TogglePageDisplayCommand = new DelegateCommand("Show pages continuously", f => pdfPanel.TogglePageDisplay(), isPdfLoaded, new KeyGesture(Key.D7, ModifierKeys.Control));

            this.FullscreenCommand = new FullscreenCommand("Full screen", wnd, new KeyGesture(Key.L, ModifierKeys.Control));

            this.SinglePageCommand = new DelegateCommand("Single page", f => { pdfPanel.ViewType = MoonPdfLib.ViewType.SinglePage; }, isPdfLoaded, new KeyGesture(Key.D1, ModifierKeys.Control));
            this.FacingCommand = new DelegateCommand("Facing", f => { pdfPanel.ViewType = MoonPdfLib.ViewType.Facing; }, isPdfLoaded, new KeyGesture(Key.D2, ModifierKeys.Control));
            this.BookViewCommand = new DelegateCommand("Book view", f => { pdfPanel.ViewType = MoonPdfLib.ViewType.BookView; }, isPdfLoaded, new KeyGesture(Key.D3, ModifierKeys.Control));

            this.ShowAboutCommand = new DelegateCommand("About", f => new AboutWindow().ShowDialog(), f => true, null);

            this.RegisterInputBindings(wnd);
        }
Ejemplo n.º 4
0
        private void RegisterInputBindings(MainWindow wnd)
        {
            // register inputbindings for all commands (properties)
            foreach (var pi in typeof(Commands).GetProperties())
            {
                var cmd = (BaseCommand)pi.GetValue(this, null);

                if (cmd.InputBinding != null)
                    wnd.InputBindings.Add(cmd.InputBinding);
            }
        }
Ejemplo n.º 5
0
 public FullscreenHandler(MainWindow window)
 {
     this.window            = window;
     this.oldWindowState    = window.WindowState;
     this.oldMenuVisibility = window.mainMenu.Visibility;
 }