Пример #1
0
        private void WindowStartMainPanel_RectCaptureButtonClick(object sender, RoutedEventArgs e)
        {
            this.WindowStartMainPanel.Visibility       = Visibility.Hidden;
            this.WindowRectCaptureMainPanel.Visibility = Visibility.Visible;

            this.WindowSubpageBottomBox.Visibility = Visibility.Visible;

            this.WindowTopPanel.Text = "領域を指定してキャプチャ";

            this.currentPage = MainWindowPage.RectCapture;
            this.currentPageCount++;
        }
Пример #2
0
        private void WindowStartMainPanel_SettingButtonClick(object sender, RoutedEventArgs e)
        {
            //Console.WriteLine("イベントが発生しました。");

            this.WindowStartMainPanel.Visibility   = Visibility.Hidden;
            this.WindowSettingMainPanel.Visibility = Visibility.Visible;

            this.WindowSubpageBottomBox.Visibility = Visibility.Visible;

            this.WindowTopPanel.Text = "キャプチャ設定";

            this.currentPage = MainWindowPage.Setting;
            this.currentPageCount++;
        }
Пример #3
0
        private void WindowSubpageBottomBox_PrevButtonClick(object sender, RoutedEventArgs e)
        {
            this.currentPageCount--;

            if (this.currentPageCount < 0)
            {
                throw new Exception("UIエラーが発生しました。ページカウントが負の値を示しています。");
            }
            else if (this.currentPageCount == 0)
            {
                // トップページに戻す
                this.WindowStartMainPanel.Visibility = Visibility.Visible;

                this.WindowRectCaptureMainPanel.Visibility = Visibility.Hidden;
                this.WindowWindowCapturePanel.Visibility   = Visibility.Hidden;
                this.WindowSettingMainPanel.Visibility     = Visibility.Hidden;

                this.WindowSubpageBottomBox.Visibility = Visibility.Collapsed;

                this.WindowTopPanel.Text = "";
                this.currentPage         = MainWindowPage.Start;
            }
            else
            {
                // 各モード内で1つ前のページに戻す
                switch (this.currentPage)
                {
                case MainWindowPage.RectCapture:
                {
                    break;
                }

                case MainWindowPage.WindowCapture:
                {
                    break;
                }

                case MainWindowPage.Setting:
                {
                    break;
                }

                default:
                    throw new Exception("UIエラーが発生しました。ページモードの種類を示す値が正しくありません。");
                }
            }
        }
Пример #4
0
        private void WindowStartMainPanel_WindowCaptureButtonClick(object sender, RoutedEventArgs e)
        {
            this.WindowStartMainPanel.Visibility     = Visibility.Hidden;
            this.WindowWindowCapturePanel.Visibility = Visibility.Visible;

            this.WindowSubpageBottomBox.Visibility = Visibility.Visible;

            this.WindowTopPanel.Text = "ウィンドウを指定してキャプチャ";

            this.currentPage = MainWindowPage.WindowCapture;
            this.currentPageCount++;



            this.WindowWindowCapturePanel.UpdateWindowInformations();

            /*
             * ICollection<Models.WindowInfo> test = Models.WindowInfo.GetAllActiveWindows();
             * foreach (var item in test)
             *  Console.WriteLine("{0}:({1:0000},{2:0000}) {3:0000}x{4:0000}", item.Name.PadRight(30), item.PositionX, item.PositionY, item.Width, item.Height);
             */
        }
Пример #5
0
        public App()
        {
            var newWindow = new MainWindowPage();

            newWindow.Show();
        }
Пример #6
0
        public void NavigateTo(MainWindowPage page)
        {
            // Needed to save the content of the LoliCode editor when changing page
            if (CurrentPage == configEditorPage)
            {
                configEditorPage?.OnPageChanged();
            }

            switch (page)
            {
            case MainWindowPage.Home:
                homePage = new Home();     // We recreate the homepage each time to display updated announcements
                ChangePage(homePage, menuOptionHome);
                break;

            case MainWindowPage.Jobs:
                if (jobsPage is null)
                {
                    jobsPage = new();
                }
                ChangePage(jobsPage, menuOptionJobs);
                break;

            case MainWindowPage.Monitor:
                if (monitorPage is null)
                {
                    monitorPage = new();
                }
                ChangePage(monitorPage, menuOptionMonitor);
                break;

            case MainWindowPage.Proxies:
                if (proxiesPage is null)
                {
                    proxiesPage = new();
                }
                proxiesPage.UpdateViewModel();
                ChangePage(proxiesPage, menuOptionProxies);
                break;

            case MainWindowPage.Wordlists:
                if (wordlistsPage is null)
                {
                    wordlistsPage = new();
                }
                ChangePage(wordlistsPage, menuOptionWordlists);
                break;

            case MainWindowPage.Configs:
                if (configsPage is null)
                {
                    configsPage = new();
                }
                configsPage.UpdateViewModel();
                ChangePage(configsPage, menuOptionConfigs);
                break;

            case MainWindowPage.Hits:
                if (hitsPage is null)
                {
                    hitsPage = new();
                }
                hitsPage.UpdateViewModel();
                ChangePage(hitsPage, menuOptionHits);
                break;

            case MainWindowPage.Plugins:
                if (pluginsPage is null)
                {
                    pluginsPage = new();
                }
                ChangePage(pluginsPage, menuOptionPlugins);
                break;

            case MainWindowPage.OBSettings:
                if (obSettingsPage is null)
                {
                    obSettingsPage = new();
                }
                ChangePage(obSettingsPage, menuOptionOBSettings);
                break;

            case MainWindowPage.RLSettings:
                if (rlSettingsPage is null)
                {
                    rlSettingsPage = new();
                }
                ChangePage(rlSettingsPage, menuOptionRLSettings);
                break;

            case MainWindowPage.About:
                if (aboutPage is null)
                {
                    aboutPage = new();
                }
                ChangePage(aboutPage, menuOptionAbout);
                break;

            // Initialize config pages when we click on them because a user might not even load them
            // so we save some RAM (especially the heavy ones that involve a WebBrowser control)

            case MainWindowPage.ConfigMetadata:
                CloseSubmenu();
                if (configMetadataPage is null)
                {
                    configMetadataPage = new();
                }
                configMetadataPage.UpdateViewModel();
                ChangePage(configMetadataPage, menuOptionMetadata);
                break;

            case MainWindowPage.ConfigReadme:
                CloseSubmenu();
                if (configReadmePage is null)
                {
                    configReadmePage = new();
                }
                configReadmePage.UpdateViewModel();
                ChangePage(configReadmePage, menuOptionReadme);
                break;

            case MainWindowPage.ConfigStacker:

                if (vm.Config.Mode is not ConfigMode.Stack and not ConfigMode.LoliCode)
                {
                    return;
                }

                CloseSubmenu();
                if (configEditorPage is null)
                {
                    configEditorPage = new();
                }
                configEditorPage.NavigateTo(ConfigEditorSection.Stacker);
                ChangePage(configEditorPage, menuOptionStacker);
                break;

            case MainWindowPage.ConfigLoliCode:

                if (vm.Config.Mode is not ConfigMode.Stack and not ConfigMode.LoliCode)
                {
                    return;
                }

                CloseSubmenu();
                if (configEditorPage is null)
                {
                    configEditorPage = new();
                }
                configEditorPage.NavigateTo(ConfigEditorSection.LoliCode);
                ChangePage(configEditorPage, menuOptionLoliCode);
                break;

            case MainWindowPage.ConfigSettings:
                CloseSubmenu();
                if (configSettingsPage is null)
                {
                    configSettingsPage = new();
                }
                configSettingsPage.UpdateViewModel();
                ChangePage(configSettingsPage, menuOptionConfigSettings);
                break;

            case MainWindowPage.ConfigCSharpCode:

                if (vm.Config.Mode is not ConfigMode.Stack and not ConfigMode.LoliCode and not ConfigMode.CSharp)
                {
                    return;
                }

                CloseSubmenu();
                if (configEditorPage is null)
                {
                    configEditorPage = new();
                }
                configEditorPage.NavigateTo(ConfigEditorSection.CSharp);
                ChangePage(configEditorPage, menuOptionCSharpCode);
                break;
            }
        }
Пример #7
0
 public MainWindowPageVo(MainWindowPage window)
 {
     TheWindow = window;
 }