Пример #1
0
        static bool ShowSettings()
        {
            //Create the settings items and apply the settings
            List <IMenuItem> items      = new List <IMenuItem> ();
            var terminateWithEscapeItem = new MenuItemWithCheckBox("Debug termination", settings.DebugSettings.TerminateWithEscape);
            var debugPortItem           = new MenuItemWithNumericInput("Debug port", settings.DebugSettings.Port, 1, ushort.MaxValue);
            var checkForUpdate          = new MenuItemWithCheckBox("Update check", settings.GeneralSettings.CheckForSwUpdatesAtStartUp);
            var wifiConnect             = new MenuItemWithCheckBox("WiFi auto connect", settings.WiFiSettings.ConnectAtStartUp);

            //var soundVolume = new MenuItemWithNumericInput("Volume",settings.SoundSettings.Volume);
            //var enableSound = new MenuItemWithCheckBox("Enable sound", settings.SoundSettings.EnableSound);

            items.Add(wifiConnect);
            items.Add(checkForUpdate);
            items.Add(terminateWithEscapeItem);
            items.Add(debugPortItem);
            //items.Add(soundVolume);
            //items.Add(enableSound);
            //Show the menu

            Menu m = new Menu("Settings", items);

            m.Show();
            new Thread(delegate() {
                settings.DebugSettings.TerminateWithEscape = terminateWithEscapeItem.Checked;
                settings.DebugSettings.Port = debugPortItem.Value;
                settings.GeneralSettings.CheckForSwUpdatesAtStartUp = checkForUpdate.Checked;
                settings.WiFiSettings.ConnectAtStartUp = wifiConnect.Checked;
                //settings.SoundSettings.Volume = soundVolume.Value;
                //settings.SoundSettings.EnableSound = enableSound.Checked;
                settings.Save();
            }).Start();
            return(false);
        }
Пример #2
0
        public static bool ShowSubMenu()
        {
            List <IMenuItem> items     = new List <IMenuItem> ();
            var nameItem               = new MenuItemWithCharacterInput("Name", "Enter Name", "Anders");
            var ageItem                = new MenuItemWithNumericInput("Age", 29, 0, 100);
            var genderItem             = new MenuItemWithOptions <string>("Option", new string[] { "Male", "Female" });
            var programItem            = new MenuItemWithCheckBox("Loves C#", true);
            var checkBoxWithActionItem = new MenuItemWithCheckBox("Execute", true, TurnCheckBoxOnOff);

            items.Add(nameItem);
            items.Add(ageItem);
            items.Add(genderItem);
            items.Add(programItem);
            items.Add(checkBoxWithActionItem);

            //Show the menu
            Menu m = new Menu("Sub Menu", items);

            m.Show();
            Console.WriteLine("Your name is " + nameItem.Text);
            Console.WriteLine("Your genger is " + genderItem.GetSelection().ToString());
            Console.WriteLine("Your age is " + ageItem.Value);
            if (programItem.Checked)
            {
                Console.WriteLine(nameItem.Text + " loves C#");
            }
            Console.WriteLine("Is checked: " + checkBoxWithActionItem.Checked);
            return(false);
        }
Пример #3
0
        static bool ShowWebServerMenu(Lcd lcd, Buttons btns)
        {
            List <IMenuItem> items = new List <IMenuItem> ();
            var portItem           = new MenuItemWithNumericInput(lcd, "Port", settings.WebServerSettings.Port, 1, ushort.MaxValue);

            portItem.OnValueChanged += delegate(int value)
            {
                new Thread(delegate() {
                    settings.WebServerSettings.Port = value;
                    settings.Save();
                }).Start();
            };
            var startItem = new MenuItemWithCheckBox(lcd, "Start server", WebServer.IsRunning(),
                                                     delegate(bool running)
            {
                webServer      = new WebServer(settings.WebServerSettings.Port);
                bool isRunning = running;
                if (running)
                {
                    var dialog = new InfoDialog(font, lcd, btns, "Shutting down Web-Server", false);
                    dialog.Show();
                    webServer.Stop();
                    dialog = new InfoDialog(font, lcd, btns, "Web-server Stopped!", true);
                    dialog.Show();
                    isRunning = false;
                }
                else
                {
                    var dialog = new InfoDialog(font, lcd, btns, "Starting Web-Server Please Wait", false, "Web-Server");
                    dialog.Show();
                    webServer.CompilingServer += delegate() { dialog.UpdateMessage("Compiling..."); };
                    webServer.LoadingPage     += delegate() { dialog.UpdateMessage("Loading page"); };
                    webServer.StartingServer  += delegate() { dialog.UpdateMessage("Starting server"); };
                    if (webServer.Restart())
                    {
                        dialog = new InfoDialog(font, lcd, btns, "Started successfully at port" + settings.WebServerSettings.Port, true);
                        dialog.Show();
                        isRunning = true;
                    }
                    else
                    {
                        dialog = new InfoDialog(font, lcd, btns, "Failed to start Web-Servers", true);
                        dialog.Show();
                        isRunning = false;
                    }
                }
                return(isRunning);
            }
                                                     );

            items.Add(portItem);
            items.Add(startItem);
            //Show the menu
            Menu m = new Menu(font, lcd, btns, "Web Server", items);

            m.Show();
            return(false);
        }
Пример #4
0
        static bool ShowWebServerMenu()
        {
            List <IMenuItem> items = new List <IMenuItem> ();
            var portItem           = new MenuItemWithNumericInput("Port", settings.WebServerSettings.Port, 1, ushort.MaxValue);

            portItem.OnValueChanged += delegate(int value)
            {
                new Thread(delegate() {
                    settings.WebServerSettings.Port = value;
                    settings.Save();
                }).Start();
            };
            var startItem = new MenuItemWithCheckBox("Start server", WebServer.IsRunning(),
                                                     delegate(bool running)
            {
                bool isRunning = running;
                if (running)
                {
                    var step = new StepContainer(
                        delegate()
                    {
                        WebServer.StopAll();
                        System.Threading.Thread.Sleep(2000);
                        return(true);
                    },
                        "Stopping", "Failed to stop");
                    var dialog = new ProgressDialog("Web Server", step);
                    dialog.Show();
                    isRunning = WebServer.IsRunning();
                }
                else
                {
                    var step1      = new StepContainer(() => { return(WebServer.StartFastCGI()); }, "Init CGI Server", "Failed to start CGI Server");
                    var step2      = new StepContainer(() => { return(WebServer.StartLighttpd()); }, "Initializing", "Failed to start server");
                    var step3      = new StepContainer(() => { return(WebServer.LoadPage()); }, "Loading page", "Failed to load page");
                    var stepDialog = new StepDialog("Web Server", new List <IStep> {
                        step1, step2, step3
                    }, "Webserver started");
                    isRunning = stepDialog.Show();
                }
                return(isRunning);
            }
                                                     );

            //items.Add(portItem);
            items.Add(startItem);
            //Show the menu
            Menu m = new Menu("Web Server", items);

            m.Show();
            return(false);
        }
Пример #5
0
        static bool ShowWebServerMenu()
        {
            List <IMenuItem> items = new List <IMenuItem> ();
            var portItem           = new MenuItemWithNumericInput("Port", settings.WebServerSettings.Port, 1, ushort.MaxValue);

            portItem.OnValueChanged += delegate(int value)
            {
                new Thread(delegate() {
                    settings.WebServerSettings.Port = value;
                    settings.Save();
                }).Start();
            };
            var startItem = new MenuItemWithCheckBox("Start server", Webserver.Instance.IsRunning,
                                                     delegate(bool running)
            {
                bool isRunning = running;
                if (running)
                {
                    var step = new StepContainer(
                        delegate()
                    {
                        Webserver.Instance.Stop();
                        return(true);
                    },
                        "Stopping", "Failed to stop");
                    var dialog = new ProgressDialog("Web Server", step);
                    dialog.Show();
                    isRunning = Webserver.Instance.IsRunning;
                }
                else
                {
                    var step1      = new StepContainer(() => { Webserver.Instance.Start(portItem.Value); return(true); }, "Starting REST", "Failed To Start REST");
                    var step2      = new StepContainer(() => { return(Webserver.Instance.LoadPage()); }, "Loading Webpage", "Failed to load page");
                    var stepDialog = new StepDialog("Web Server", new List <IStep> {
                        step1, step2
                    }, "Webserver started");
                    isRunning = stepDialog.Show();
                }
                return(isRunning);
            }
                                                     );

            //items.Add(portItem);
            items.Add(startItem);
            //Show the menu
            Menu m = new Menu("Web Server", items);

            m.Show();
            return(false);
        }