public StdThresholdZRDI(string basePath, string name, RGB colour, string trackedPath, float minThreshold, float maxThreshold) : base(basePath, name, colour, minThreshold, maxThreshold) { TrackedPath = trackedPath; }
protected void ItemColourRandomButton_Click() { SetItemColour(RGB.RandomHueRGB()); }
public StdThresholdZRDI(string basePath, string name) : base(basePath, name, RGB.RandomHueRGB(), 0.0f, 0.0f) { }
private void FillNode(TreemapNode n, RectD nBounds, RectD vBounds, double pxX, double pxY, int depth) { if (Overlaps(nBounds, vBounds)) { GLTexture tex = n.Texture; if (tex != null && tex.Valid) { OpenGL.glEnd(); OpenGL.glEnable(OpenGL.GL_TEXTURE_2D); OpenGL.glDisable(OpenGL.GL_BLEND); tex.Bind(); OpenGL.glColor3f(1.0f, 1.0f, 1.0f); OpenGL.glBegin(OpenGL.GL_QUADS); } else { RGB col = new RGB(new HSV(depth * (1.0f / 6.0f), 0.5f - depth / 256.0f, 1)); OpenGL.glColor3f(col.r, col.g, col.b); } { OpenGL.glTexCoord2f(0.0f, 0.0f); OpenGL.glVertex2f((float)nBounds.Left, (float)nBounds.Top); OpenGL.glTexCoord2f(0.0f, 1.0f); OpenGL.glVertex2f((float)nBounds.Left, (float)nBounds.Bottom); OpenGL.glTexCoord2f(1.0f, 1.0f); OpenGL.glVertex2f((float)nBounds.Right, (float)nBounds.Bottom); OpenGL.glTexCoord2f(1.0f, 0.0f); OpenGL.glVertex2f((float)nBounds.Right, (float)nBounds.Top); } if (tex != null && tex.Valid) { OpenGL.glEnd(); tex.Unbind(); OpenGL.glDisable(OpenGL.GL_TEXTURE_2D); OpenGL.glEnable(OpenGL.GL_BLEND); OpenGL.glBegin(OpenGL.GL_QUADS); } RectD conBounds = new RectD( nBounds.Left + nBounds.Width * 0.01f, nBounds.Top + nBounds.Height * 0.03f, nBounds.Right - nBounds.Width * 0.01f, nBounds.Bottom - nBounds.Height * 0.01f); for (int i = 0, c = n.Children.Count; i != c; ++i) { TreemapNode cn = n.Children[i]; RectD cBounds = new RectD( cn.Bounds.Left * conBounds.Width + conBounds.Left, cn.Bounds.Top * conBounds.Height + conBounds.Top, cn.Bounds.Right * conBounds.Width + conBounds.Left, cn.Bounds.Bottom * conBounds.Height + conBounds.Top); if (cBounds.Width > pxX * 5) { cBounds.Left += pxX * m_pxNodeMargin; cBounds.Right -= pxX * m_pxNodeMargin; } if (cBounds.Height > pxY * 5) { cBounds.Top += pxY * m_pxNodeMargin; cBounds.Bottom -= pxY * m_pxNodeMargin; } FillNode(cn, cBounds, vBounds, pxX, pxY, depth + 1); } } }
protected virtual void SetItemColour(RGB colour) { RDI.Colour = colour; LogControl.InvalidateGraphControl(); }
public UserMarkerZRDI(string basePath, string name, RGB colour, UserMarker fromMarker, UserMarker toMarker) : base(basePath, name, colour) { FromMarker = fromMarker; ToMarker = toMarker; }
public void SetSingleOrdiColour(RGB rgb) { m_singleOrdiColour = rgb; m_logControl.InvalidateGraphControl(); }
public FPSTargetLineRDI(string path, float value, RGB colour) : base(path, String.Format("{0:g}", value), value, colour, 1.0f, ELabelLocation.ELL_Left) { ValueIsFPS = true; NameFromValue = true; }
protected override void SetItemColour(RGB colour) { base.SetItemColour(colour); itemColourButton.BackColor = colour.ConvertToSysDrawCol(); }
public ZoneHighlighterRDI(string basePath, string name, RGB colour) : base(basePath, name, 1.0f) { Colour = colour; }
public TargetLineRDI(string basePath, string name, float value, RGB colour, ELabelLocation labelLocation) : this(basePath, name, value, colour, 1.0f, labelLocation) { }
string GetCanvasTargetLineString(float value, string name, bool textRight, RGB rgb, float graphStartX, float graphStartY, float graphWidth, float graphHeight, float graphScaleY) { float y = graphStartY + graphHeight - value * graphScaleY; string ret = ""; if (y >= graphStartY) { ret += "context.strokeStyle = '" + string.Format("rgb({0},{1},{2})", (int)(rgb.r * 255.0f), (int)(rgb.g * 255.0f), (int)(rgb.b * 255.0f)) + "';\n"; ret += "context.beginPath();\n"; ret += string.Format("context.moveTo({0}, {1});\n", graphStartX, y); ret += string.Format("context.lineTo({0}, {1});\n", graphStartX + graphWidth, y); ret += "context.stroke();\n"; ret += "context.closePath();\n"; ret += "context.textBaseline = 'middle';\n"; ret += "context.fillStyle = '" + string.Format("rgb({0},{1},{2})", (int)(rgb.r * 255.0f), (int)(rgb.g * 255.0f), (int)(rgb.b * 255.0f)) + "';\n"; ret += string.Format("context.fillText(\"{0:n0}\", {1}, {2});\n", name, textRight ? graphStartX + graphWidth + 10 : graphStartX - 25, y); } return(ret); }
string GetCanvasTargetLineString(float value, RGB rgb, float graphStartX, float graphStartY, float graphWidth, float graphHeight, float graphScaleY) { return(GetCanvasTargetLineString(value, value.ToString(), false, rgb, graphStartX, graphStartY, graphWidth, graphHeight, graphScaleY)); }
public LogViewSerializeState(UserMarker startUM, UserMarker endUM, RGB singleORDIColour) { StartUM = startUM; EndUM = endUM; SingleORDIColour = singleORDIColour; }
//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 }
public SignedDifferenceThresholdZRDI(string basePath, string name, RGB colour, string typeNameLower, string typeNameUpper, float minThreshold, float maxThreshold) : base(basePath, name, colour, minThreshold, maxThreshold) { TypeNameLower = typeNameLower; TypeNameUpper = typeNameUpper; }