예제 #1
0
        void m_intervalControl_ViewChanged(object sender, EventArgs e)
        {
            IntervalControl ctl = (IntervalControl)sender;

            m_OGLGraphingControl.SelectionStartInSeconds = (float)ctl.View.Left;
            m_OGLGraphingControl.SelectionEndInSeconds   = (float)ctl.View.Right;
        }
예제 #2
0
        void m_intervalControl_ActiveIntervalChanged(object sender, EventArgs e)
        {
            LogData logData = m_logViews[0].m_logData;

            lock (logData.IntervalTree)
            {
                IntervalControl ctl = (IntervalControl)sender;

                if (ctl.ActiveInterval != null)
                {
                    intervalPath.Text = logData.IntervalTree.GetRailName(ctl.ActiveRailId);
                    intervalProperties.SelectedObject = ctl.ActiveInterval;
                }
                else
                {
                    intervalPath.Text = string.Empty;
                    intervalProperties.SelectedObject = null;
                }
            }
        }
예제 #3
0
        //bool m_nonNumberEntered;

        public LogControl(List <LogRange> logRanges, StatoscopeForm statoscopeForm)
        {
            m_statoscopeForm = statoscopeForm;

            InitializeComponent();
            InitializeDisplayScales();

            if (components == null)
            {
                components = new Container();
            }

            intervalPath.Text = "";

            Dock = DockStyle.Fill;

            m_ordiTree = new OverviewRDI();
            m_prdiTree = new ProfilerRDI();
            m_urdiTree = new UserMarkerRDI();
            m_trdiTree = new TargetLineRDI();
            m_zrdiTree = new ZoneHighlighterRDI();

            m_ordiTreeView = new ORDICheckboxTreeView(this, m_ordiTree);
            m_prdiTreeView = new PRDICheckboxTreeView(this, m_prdiTree);
            m_urdiTreeView = new URDICheckboxTreeView(this, m_urdiTree);
            m_trdiTreeView = new TRDICheckboxTreeView(this, m_trdiTree);
            m_zrdiTreeView = new ZRDICheckboxTreeView(this, m_zrdiTree);

            InitializeItemInfoControls();

            foreach (LogRange logRange in logRanges)
            {
                LogView logView = new LogView(this, logRange);

                components.Add(logView);
                m_logViews.Add(logView);
            }

            m_intervalControl         = new IntervalControl();
            m_intervalControl.Dock    = DockStyle.Fill;
            m_intervalControl.Visible = false;

            m_intervalControl.Tree = m_logViews[0].m_logData.IntervalTree;

            m_intervalControl.ViewChanged           += new EventHandler(m_intervalControl_ViewChanged);
            m_intervalControl.ActiveIntervalChanged += new EventHandler(m_intervalControl_ActiveIntervalChanged);

            intervalTreemapTableLayoutPanel.Controls.Add(m_intervalControl, 0, 0);

            m_treemapControl         = new ProfilerTreemapControl(this);
            m_treemapControl.Dock    = DockStyle.Fill;
            m_treemapControl.Visible = false;

            m_treemapControl.SelectionChanged += new EventHandler(m_treemapControl_SelectionChanged);

            intervalTreemapTableLayoutPanel.Controls.Add(m_treemapControl, 0, 1);

            m_OGLGraphingControl                    = new OpenGLGraphingControl(this);
            m_OGLGraphingControl.Dock               = DockStyle.Fill;
            m_OGLGraphingControl.SelectionChanged  += new EventHandler(m_OGLGraphingControl_SelectionChanged);
            m_OGLGraphingControl.SelectedHighlight += new EventHandler(m_OGLGraphingControl_SelectedHighlight);

            displayTableLayoutPanel.Controls.Add(m_OGLGraphingControl, 0, 1);

            logListTableLayoutPanel.SuspendLayout();

            foreach (LogView logView in m_logViews)
            {
                if (m_logViews.Count > 1)
                {
                    logView.SetSingleOrdiColour(RGB.RandomHueRGB());
                }

                LogListItem logListItem = new LogListItem(logView);
                logListTableLayoutPanel.Controls.Add(logListItem);
            }

            logListTableLayoutPanel.ResumeLayout();

            m_spikeFinder = new SpikeFinder(this);

            overviewTabPage.Controls.Add(new CTVControl(m_ordiTreeView));
            functionProfileTabPage.Controls.Add(new CTVControl(m_prdiTreeView));
            userMarkersTabPage.Controls.Add(new CTVControl(m_urdiTreeView));
            targetLinesTabPage.Controls.Add(new CTVControl(m_trdiTreeView, new TargetLineCTVControlPanel(m_trdiTreeView)));
            spikeFinderTabPage.Controls.Add(m_spikeFinder);
            zoneHighlightersTabPage.Controls.Add(new CTVControl(m_zrdiTreeView, new ZoneHighlighterCTVControlPanel(m_zrdiTreeView)));

            //m_nonNumberEntered = false;

            InitializeTargetLines();
            InitializeZoneHighlighters();

            UpdateControls(0);

            m_OGLGraphingControl.FitViewToFrameRecords();

            AutoEnableTargetLines();
            //CreateSummaryTabPage();	// this will be replaced with a much better Dr Statoscope feature later
        }