示例#1
0
        public SpectrumVisorForm() : base()
        {
            Width  = 1000;
            Height = 800;

            var signal = new SignalManager(10, 1024);

            signal.AddSignalBySize(0, 1024, 0, 1.0 / 256, 10, 0, 0);
            //signal.AddSignalBySize(0, 1024, 0, 1.0 / 64, 5, 0, 0);
            //signal.AddSignalBySize(0, 1024, 0, 1.0 / 32, 1, 5, 0);

            var transform = new TransformManager(new WindowedFourier(128), signal);

            signalPanel             = new SignalPanel(signal);
            signalPanel.MaximumSize = new Size(400, 600);

            spectrumPanel = new SpectrumPanel(signal, transform);

            Controls.Add(signalPanel);
            Controls.Add(spectrumPanel);


            Load        += (sender, ev) => OnSizeChanged(EventArgs.Empty);
            SizeChanged += (sender, ev) =>
            {
                signalPanel.Size = new Size(Width * 40 / 100, Height - 100);
                spectrumPanel.SetBounds(Width * 45 / 100, 0, Width / 2, Height - 100);
            };
        }
示例#2
0
        public AddSignalDialog(SignalManager signals)
        {
            //фиксирование размеров
            Width           = 400;
            Height          = 600;
            FormBorderStyle = FormBorderStyle.FixedDialog;

            name  = "no_name";
            start = 0;
            dur   = signals.Size;
            mult  = 1;
            freq  = 8 / dur;
            c     = 0;

            var table = new TableLayoutPanel();

            table.RowStyles.Add(new RowStyle(SizeType.Percent, 25));
            table.RowStyles.Add(new RowStyle(SizeType.Percent, 25));
            table.RowStyles.Add(new RowStyle(SizeType.Percent, 25));
            table.RowStyles.Add(new RowStyle(SizeType.Percent, 25));

            table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));

            table.Controls.Add(InitStartField(), 0, 0);
            table.Controls.Add(InitDurField(), 0, 1);
            table.Controls.Add(new Panel(), 0, 2);
            table.Controls.Add(InitFreqField(), 1, 0);
            table.Controls.Add(InitMultField(), 1, 1);
            table.Controls.Add(InitConstField(), 1, 2);

            var okButton = new Button
            {
                Text = "Создать"
            };

            okButton.Click += (sender, ev) =>
            {
                signals.AddSignalBySize((int)start, (int)dur, 0, freq, mult, c, 0);
            };

            table.Controls.Add(okButton, 0, 3);

            var cancelButton = new Button
            {
                Text = "Отмена"
            };

            cancelButton.Click += (sender, ev) =>
            {
                Close();
            };
            table.Controls.Add(cancelButton, 1, 3);

            table.Dock = DockStyle.Fill;

            Controls.Add(table);
        }