Example #1
0
        public bool IsValid()
        {
            var validation = new TitleValidator();
            var result     = validation.Validate(this);

            ValidationErrors = result.Errors;
            return(result.IsValid);
        }
        private void CreateMenu()
        {
            MenuItem[] menu = null;

            MenuItem[] fileMenu = new MenuItem[]
            {
                new MenuItem
                {
                    Label = "Load file", Type = MenuType.normal, Click = async() =>
                    {
                        var mainWindow = Electron.WindowManager.BrowserWindows.First();
                        var options    = new OpenDialogOptions()
                        {
                            Properties = new OpenDialogProperty[] { OpenDialogProperty.openFile },
                            Filters    = new FileFilter[]
                            {
                                new FileFilter {
                                    Name = "Word Documents (.docx)", Extensions = new string[] { "docx" }
                                }
                            }
                        };
                        string[] filePaths = await Electron.Dialog.ShowOpenDialogAsync(mainWindow, options);

                        WordprocessingDocument wordProcessingDocument =
                            WordprocessingDocument.Open(filePaths[0], false);
                        if (wordProcessingDocument.MainDocumentPart != null)
                        {
                            Document document = wordProcessingDocument.MainDocumentPart.Document;
                            Dictionary <String, List <String> > errorsMap = new Dictionary <string, List <string> >();
                            TitleValidator.Validate(errorsMap, document, filePaths[0]);
                            foreach (var error in errorsMap.Values)
                            {
                                Array.ForEach(error.ToArray(), Console.WriteLine);
                            }
                            validatePageMargins(document);
                        }
                    }
                },
                new MenuItem {
                    Type = MenuType.separator
                },
                new MenuItem {
                    Role = MenuRole.quit
                }
            };

            MenuItem[] viewMenu = new MenuItem[]
            {
                new MenuItem {
                    Role = MenuRole.reload
                },
                new MenuItem {
                    Role = MenuRole.forcereload
                },
                new MenuItem {
                    Role = MenuRole.toggledevtools
                },
                new MenuItem {
                    Type = MenuType.separator
                },
                new MenuItem {
                    Role = MenuRole.resetzoom
                },
                new MenuItem {
                    Role = MenuRole.zoomin
                },
                new MenuItem {
                    Role = MenuRole.zoomout
                },
                new MenuItem {
                    Type = MenuType.separator
                },
                new MenuItem {
                    Role = MenuRole.togglefullscreen
                }
            };

            menu = new MenuItem[]
            {
                new MenuItem {
                    Label = "File", Type = MenuType.submenu, Submenu = fileMenu
                },
                new MenuItem {
                    Label = "View", Type = MenuType.submenu, Submenu = viewMenu
                }
            };

            Electron.Menu.SetApplicationMenu(menu);
        }