Example #1
0
        void generatePlot()
        {
            //this.BeginUpdate();
            this.SuspendLayout();
            this.Controls.Clear();

            Renderer.RenderState renderState = new Renderer.RenderState();
            Formula f = new Formula(state.X, state.Y);

            renderState.Frame = f.Eval(state.DataSet).First() as ModelFrame;
            PlotPanel plotPanel = new PlotPanel(renderState);

            renderState.MarginLeft   = 80;
            renderState.MarginBottom = 60;
            renderState.MarginRight  = 20;
            renderState.MarginTop    = 20;

            List <Layer> layers = new List <Layer>();

            layers.Add(new FrameLayer(plotPanel));
            layers.Add(new PointLayer(plotPanel));

            Panel p = new Panel(layers);

            p.Size     = this.Size;
            p.Location = new Point(0, 0);
            p.Measure();

            this.Controls.Add(p);

            this.ResumeLayout();
            //this.EndUpdate();
        }
 private void button8_Click(object sender, EventArgs e)
 {
     PlotPanel.Dispose();
     CreateNewPlotPanel();
     PlotPanel.Size = new Size(0, 0);
     dc.ChartType   = DrawChart.ChartTypeEnum.XYColor;
     PlotPanel.Invalidate();
 }
 private void button9_Click(object sender, EventArgs e)
 {
     PlotPanel.Dispose();
     CreateNewPlotPanel();
     dc.ChartType = DrawChart.ChartTypeEnum.Waterfall;
     Prepare3DAxis();
     PlotPanel.Invalidate();
 }
 private void button4_Click(object sender, EventArgs e)
 {
     PlotPanel.Dispose();
     CreateNewPlotPanel();
     PlotPanel.Size = new Size(0, 0);
     dc.ChartType   = DrawChart.ChartTypeEnum.FillContour;
     Prepare3DAxis();
     //PlotPanel.Invalidate();
 }
 private void button2_Click(object sender, EventArgs e)
 {
     PlotPanel.Dispose();
     CreateNewPlotPanel();
     PlotPanel.Size         = new Size(0, 0);
     dc.ChartType           = DrawChart.ChartTypeEnum.Contour;
     ds.LineStyle.Thickness = 3;
     Prepare3DAxis();
     //PlotPanel.Invalidate();
 }
Example #6
0
        private void ReadFileButton_Click(object sender, EventArgs e)
        {
            if (!File.Exists(PathBox.Text))
            {
                MessageBox.Show("Файл не существует");
                return;
            }
            CFileReader fileReader = new CFileReader(PathBox.Text);

            measure.MeasureList = fileReader.GetMeasure();
            FilterMeasure();
            PlotPanel.Refresh();
            SaveButton.Enabled = true;
        }
Example #7
0
        private void CreateAndShowMainWindow()
        {
            // Create the application's main window
            mainWindow       = new System.Windows.Window();
            plot1            = new PlotPanel();
            plot1.Background = Brushes.White;

            rect1              = new Rectangle();
            rect1.Fill         = Brushes.CornflowerBlue;
            rect1.Width        = 200;
            rect1.Height       = 200;
            mainWindow.Content = plot1;
            plot1.Children.Add(rect1);
            mainWindow.Title = "Custom Panel Sample";
            mainWindow.Show();
        }
Example #8
0
    /// <summary>
    /// Show the flight path of a nonexploding aerial shell.
    /// </summary>
    public static void Main()
    {
        PlotPanel p = new PlotPanel(
            101, new Function(X), new Function(Y));
        Panel    p2 = UI.NORMAL.CreatePaddedPanel(p);
        GroupBox gb =
            UI.NORMAL.CreateGroupBox("Flight Path", p2);
        Form f = new Form();

        f.DockPadding.All = 10;
        f.Font            = UI.NORMAL.Font;
        f.Text            = "Flight Path for Shell Duds";
        f.Controls.Add(gb);

        Application.Run(f);
    }
        private void tbAzimuth_KeyUp(object sender, KeyEventArgs e)
        {
            int  value;
            bool result = Int32.TryParse(tbAzimuth.Text, out value);

            if (result)
            {
                if (value <= -180)
                {
                    value = -180;
                }
                else if (value >= 180)
                {
                    value = 180;
                }
                trkAzimuth.Value = value;
            }
            PlotPanel.Invalidate();
        }
        private void tbElevation_KeyUp(object sender, KeyEventArgs e)
        {
            int  value;
            bool result = Int32.TryParse(tbElevation.Text, out value);

            if (result)
            {
                if (value <= -90)
                {
                    value = -90;
                }
                else if (value >= 90)
                {
                    value = 90;
                }
                trkElevation.Value = value;
            }
            PlotPanel.Invalidate();
        }
 private void trkAzimuth_Scroll(object sender, EventArgs e)
 {
     tbAzimuth.Text = trkAzimuth.Value.ToString();
     PlotPanel.Invalidate();
 }
 private void trkElevation_Scroll(object sender, EventArgs e)
 {
     tbElevation.Text = trkElevation.Value.ToString();
     PlotPanel.Invalidate();
 }
Example #13
0
        public Form1()
        {
            InitializeComponent();
            // check if the OpenHardwareMonitorLib assembly has the correct version
            if (Assembly.GetAssembly(typeof(Computer)).GetName().Version !=
                Assembly.GetExecutingAssembly().GetName().Version)
            {
                MessageBox.Show(
                    "The version of the file OpenHardwareMonitorLib.dll is incompatible.",
                    "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                Environment.Exit(0);
            }

            this.settings = new PersistentSettings();
            this.settings.Load(Path.ChangeExtension(
                                   Application.ExecutablePath, ".config"));

            this.unitManager = new UnitManager(settings);

            // make sure the buffers used for double buffering are not disposed
            // after each draw call
            BufferedGraphicsManager.Current.MaximumBuffer =
                Screen.PrimaryScreen.Bounds.Size;

            // set the DockStyle here, to avoid conflicts with the MainMenu
            this.splitContainer.Dock = DockStyle.Fill;

            this.Font     = SystemFonts.MessageBoxFont;
            treeView.Font = SystemFonts.MessageBoxFont;

            // Set the bounds immediately, so that our child components can be
            // properly placed.
            this.Bounds = new Rectangle
            {
                X      = settings.GetValue("mainForm.Location.X", Location.X),
                Y      = settings.GetValue("mainForm.Location.Y", Location.Y),
                Width  = settings.GetValue("mainForm.Width", 470),
                Height = settings.GetValue("mainForm.Height", 640)
            };

            plotPanel      = new PlotPanel(settings, unitManager);
            plotPanel.Font = SystemFonts.MessageBoxFont;
            plotPanel.Dock = DockStyle.Fill;

            nodeCheckBox.IsVisibleValueNeeded += nodeCheckBox_IsVisibleValueNeeded;
            nodeTextBoxText.DrawText          += nodeTextBoxText_DrawText;
            nodeTextBoxValue.DrawText         += nodeTextBoxText_DrawText;
            nodeTextBoxMin.DrawText           += nodeTextBoxText_DrawText;
            nodeTextBoxMax.DrawText           += nodeTextBoxText_DrawText;
            nodeTextBoxText.EditorShowing     += nodeTextBoxText_EditorShowing;

            foreach (TreeColumn column in treeView.Columns)
            {
                column.Width = Math.Max(20, Math.Min(400,
                                                     settings.GetValue("treeView.Columns." + column.Header + ".Width",
                                                                       column.Width)));
            }

            treeModel  = new TreeModel();
            root       = new Node(System.Environment.MachineName);
            root.Image = Utilities.EmbeddedResources.GetImage("computer.png");

            treeModel.Nodes.Add(root);
            treeView.Model = treeModel;

            this.computer = new Computer(settings);

            systemTray = new SystemTray(computer, settings, unitManager);
            systemTray.HideShowCommand += hideShowClick;
            systemTray.ExitCommand     += exitClick;

            int p = (int)Environment.OSVersion.Platform;

            if ((p == 4) || (p == 128))
            { // Unix
                treeView.RowHeight           = Math.Max(treeView.RowHeight, 18);
                splitContainer.BorderStyle   = BorderStyle.None;
                splitContainer.Border3DStyle = Border3DStyle.Adjust;
                splitContainer.SplitterWidth = 4;
                treeView.BorderStyle         = BorderStyle.Fixed3D;
                plotPanel.BorderStyle        = BorderStyle.Fixed3D;
                gadgetMenuItem.Visible       = false;
                minCloseMenuItem.Visible     = false;
                minTrayMenuItem.Visible      = false;
                startMinMenuItem.Visible     = false;
            }
            else
            { // Windows
                treeView.RowHeight = Math.Max(treeView.Font.Height + 1, 18);

                gadget = new SensorGadget(computer, settings, unitManager);
                gadget.HideShowCommand += hideShowClick;

                wmiProvider = new WmiProvider(computer);
            }

            logger = new Logger(computer);

            plotColorPalette     = new Color[13];
            plotColorPalette[0]  = Color.Blue;
            plotColorPalette[1]  = Color.OrangeRed;
            plotColorPalette[2]  = Color.Green;
            plotColorPalette[3]  = Color.LightSeaGreen;
            plotColorPalette[4]  = Color.Goldenrod;
            plotColorPalette[5]  = Color.DarkViolet;
            plotColorPalette[6]  = Color.YellowGreen;
            plotColorPalette[7]  = Color.SaddleBrown;
            plotColorPalette[8]  = Color.RoyalBlue;
            plotColorPalette[9]  = Color.DeepPink;
            plotColorPalette[10] = Color.MediumSeaGreen;
            plotColorPalette[11] = Color.Olive;
            plotColorPalette[12] = Color.Firebrick;

            computer.HardwareAdded   += new HardwareEventHandler(HardwareAdded);
            computer.HardwareRemoved += new HardwareEventHandler(HardwareRemoved);

            computer.Open();

            timer.Enabled = true;

            showHiddenSensors = new UserOption("hiddenMenuItem", false,
                                               hiddenMenuItem, settings);
            showHiddenSensors.Changed += delegate(object sender, EventArgs e) {
                treeModel.ForceVisible = showHiddenSensors.Value;
            };

            showValue = new UserOption("valueMenuItem", true, valueMenuItem,
                                       settings);
            showValue.Changed += delegate(object sender, EventArgs e) {
                treeView.Columns[1].IsVisible = showValue.Value;
            };

            showMin          = new UserOption("minMenuItem", false, minMenuItem, settings);
            showMin.Changed += delegate(object sender, EventArgs e) {
                treeView.Columns[2].IsVisible = showMin.Value;
            };

            showMax          = new UserOption("maxMenuItem", true, maxMenuItem, settings);
            showMax.Changed += delegate(object sender, EventArgs e) {
                treeView.Columns[3].IsVisible = showMax.Value;
            };

            startMinimized = new UserOption("startMinMenuItem", false,
                                            startMinMenuItem, settings);

            minimizeToTray = new UserOption("minTrayMenuItem", true,
                                            minTrayMenuItem, settings);
            minimizeToTray.Changed += delegate(object sender, EventArgs e) {
                systemTray.IsMainIconEnabled = minimizeToTray.Value;
            };

            minimizeOnClose = new UserOption("minCloseMenuItem", false,
                                             minCloseMenuItem, settings);

            autoStart = new UserOption(null, startupManager.Startup,
                                       startupMenuItem, settings);
            autoStart.Changed += delegate(object sender, EventArgs e) {
                try
                {
                    startupManager.Startup = autoStart.Value;
                }
                catch (InvalidOperationException)
                {
                    MessageBox.Show("Updating the auto-startup option failed.", "Error",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error);
                    autoStart.Value = startupManager.Startup;
                }
            };

            readMainboardSensors = new UserOption("mainboardMenuItem", true,
                                                  mainboardMenuItem, settings);
            readMainboardSensors.Changed += delegate(object sender, EventArgs e) {
                computer.MainboardEnabled = readMainboardSensors.Value;
            };

            readCpuSensors = new UserOption("cpuMenuItem", true,
                                            cpuMenuItem, settings);
            readCpuSensors.Changed += delegate(object sender, EventArgs e) {
                computer.CPUEnabled = readCpuSensors.Value;
            };

            readRamSensors = new UserOption("ramMenuItem", true,
                                            ramMenuItem, settings);
            readRamSensors.Changed += delegate(object sender, EventArgs e) {
                computer.RAMEnabled = readRamSensors.Value;
            };

            readGpuSensors = new UserOption("gpuMenuItem", true,
                                            gpuMenuItem, settings);
            readGpuSensors.Changed += delegate(object sender, EventArgs e) {
                computer.GPUEnabled = readGpuSensors.Value;
            };

            readFanControllersSensors = new UserOption("fanControllerMenuItem", true,
                                                       fanControllerMenuItem, settings);
            readFanControllersSensors.Changed += delegate(object sender, EventArgs e) {
                computer.FanControllerEnabled = readFanControllersSensors.Value;
            };

            readHddSensors = new UserOption("hddMenuItem", true, hddMenuItem,
                                            settings);
            readHddSensors.Changed += delegate(object sender, EventArgs e) {
                computer.HDDEnabled = readHddSensors.Value;
            };

            showGadget = new UserOption("gadgetMenuItem", false, gadgetMenuItem,
                                        settings);
            showGadget.Changed += delegate(object sender, EventArgs e) {
                if (gadget != null)
                {
                    gadget.Visible = showGadget.Value;
                }
            };

            celsiusMenuItem.Checked =
                unitManager.TemperatureUnit == TemperatureUnit.Celsius;
            fahrenheitMenuItem.Checked = !celsiusMenuItem.Checked;

            server = new HttpServer(root, this.settings.GetValue("listenerPort", 8085));
            if (server.PlatformNotSupported)
            {
                webMenuItemSeparator.Visible = false;
                webMenuItem.Visible          = false;
            }

            runWebServer = new UserOption("runWebServerMenuItem", false,
                                          runWebServerMenuItem, settings);
            runWebServer.Changed += delegate(object sender, EventArgs e) {
                if (runWebServer.Value)
                {
                    server.StartHTTPListener();
                }
                else
                {
                    server.StopHTTPListener();
                }
            };

            logSensors = new UserOption("logSensorsMenuItem", false, logSensorsMenuItem,
                                        settings);

            loggingInterval = new UserRadioGroup("loggingInterval", 0,
                                                 new[] { log1sMenuItem, log2sMenuItem, log5sMenuItem, log10sMenuItem,
                                                         log30sMenuItem, log1minMenuItem, log2minMenuItem, log5minMenuItem,
                                                         log10minMenuItem, log30minMenuItem, log1hMenuItem, log2hMenuItem,
                                                         log6hMenuItem },
                                                 settings);
            loggingInterval.Changed += (sender, e) => {
                switch (loggingInterval.Value)
                {
                case 0: logger.LoggingInterval = new TimeSpan(0, 0, 1); break;

                case 1: logger.LoggingInterval = new TimeSpan(0, 0, 2); break;

                case 2: logger.LoggingInterval = new TimeSpan(0, 0, 5); break;

                case 3: logger.LoggingInterval = new TimeSpan(0, 0, 10); break;

                case 4: logger.LoggingInterval = new TimeSpan(0, 0, 30); break;

                case 5: logger.LoggingInterval = new TimeSpan(0, 1, 0); break;

                case 6: logger.LoggingInterval = new TimeSpan(0, 2, 0); break;

                case 7: logger.LoggingInterval = new TimeSpan(0, 5, 0); break;

                case 8: logger.LoggingInterval = new TimeSpan(0, 10, 0); break;

                case 9: logger.LoggingInterval = new TimeSpan(0, 30, 0); break;

                case 10: logger.LoggingInterval = new TimeSpan(1, 0, 0); break;

                case 11: logger.LoggingInterval = new TimeSpan(2, 0, 0); break;

                case 12: logger.LoggingInterval = new TimeSpan(6, 0, 0); break;
                }
            };

            InitializePlotForm();
            InitializeSplitter();

            startupMenuItem.Visible = startupManager.IsAvailable;

            if (startMinMenuItem.Checked)
            {
                if (!minTrayMenuItem.Checked)
                {
                    WindowState = FormWindowState.Minimized;
                    Show();
                }
            }
            else
            {
                Show();
            }

            // Create a handle, otherwise calling Close() does not fire FormClosed
            IntPtr handle = Handle;

            // Make sure the settings are saved when the user logs off
            Microsoft.Win32.SystemEvents.SessionEnded += delegate {
                computer.Close();
                SaveConfiguration();
                if (runWebServer.Value)
                {
                    server.Quit();
                }
            };
        }
Example #14
0
 private void ReadFileButton_Click(object sender, EventArgs e)
 {
     //measure.MeasureList = fileReader.GetMeasure();
     FilterMeasure();
     PlotPanel.Refresh();
 }