private void containerMain_CollapseDistanceChange(object sender, EventArgs e) { propsSplitter objSplitter = sender as propsSplitter; if (objSplitter == null) { return; } clsCollapsePanel objPanel = objSplitter.CollapsePanel; propsSplitter objOppSplitter = containerMain_SplitterOpposite(objSplitter, objPanel); if (objOppSplitter != null) { objOppSplitter.UnCollapedDist = objSplitter.UnCollapedDist; } }
private void containerMain_CollapseChange(object sender, EventArgs e) { propsSplitter objSplitter = sender as propsSplitter; if (objSplitter == null) { return; } clsCollapsePanel objPanel = objSplitter.CollapsePanel; if (!objSplitter.IsCollapsed) { propsSplitter objOppSplitter = containerMain_SplitterOpposite(objSplitter, objPanel); Control objContent = containerMain_SplitterContent(objSplitter); if (objOppSplitter != null) { objContent.Parent = objSplitter.Panel; objOppSplitter.IsCollapsed = true; } } }
public propsSplitter(clsCollapsePanel main) { CollapsePanel = main ?? throw new ArgumentNullException("Panel"); }
private void FrmGeometry_Load(object sender, EventArgs e) { glRender = new controlRender(); glRender.Name = Geometry.ToString(); glRender.Parent = panelRender; glRender.ForeColor = panelRender.ForeColor; glRender.BackColor = panelRender.BackColor; glRender.Dock = DockStyle.Fill; glRender.BringToFront(); glRender.BorderStyle = BorderStyle.FixedSingle; glRender.HandleCreated += glRender_HandleCreated; glRender.SizeChanged += glRender_Resize; glRender.Paint += glRender_Paint; containerMain = new clsCollapsePanel(panelCollapse); containerMain.CollapseStateChanged += containerMain_CollapseChange; containerMain.CollapseDistanceChanged += containerMain_CollapseDistanceChange; if (Geometry.VertexDescription == null) { clsVertexDescription newDesc = null; foreach (clsProjectObject objItr in projectMain.ProjectObjects) { clsVertexDescription descItr = objItr as clsVertexDescription; if (descItr != null) { newDesc = descItr; break; } } if (newDesc == null) { newDesc = new clsVertexDescription(); newDesc.Add(VertexAttribPointerType.Float, "Position", 3, 0); projectMain.ProjectObjects.Add(newDesc); } Geometry.VertexDescription = newDesc; } if (Geometry.Vertices == null) { clsVertexCollection newVertices = new clsVertexCollection(Geometry); newVertices.Count = 4; newVertices[0]["Position"] = new object[] { -1f, -1f, 0f }; newVertices[1]["Position"] = new object[] { 1f, -1f, 0f }; newVertices[2]["Position"] = new object[] { 1f, 1f, 0f }; newVertices[3]["Position"] = new object[] { -1f, 1f, 0f }; Geometry.Vertices = newVertices; } if (Geometry.Triangles == null) { clsTriangleCollection newTriangles = new clsTriangleCollection(Geometry); newTriangles.Count = 2; newTriangles[0].Items = new uint[] { 0, 1, 2 }; newTriangles[1].Items = new uint[] { 2, 3, 0 }; Geometry.Triangles = newTriangles; } Geometry.glUpdateBuffers(); propsGeometry.SelectedObject = new { Geometry.Vertices, Geometry.Triangles }; if (Geometry.VertexDescription != null) { Geometry.VertexDescription.Updated += Geometry_VertexDescription_Updated; } UpdateLists(); lstPositionAttr.SelectedIndex = Math.Min(lstPositionAttr.Items.Count - 1, 1); matxView.Row3 = new Vector4(0, 0, -2, 1); panelMain.Timer_IntervalUpdate += timerUpdateLists_EndInterval; tsRender = new infoFramePerformance(); glRender_Init(); ProjectDef.AllForms.Add(this); }
private propsSplitter containerMain_SplitterOpposite(propsSplitter objSplitter, clsCollapsePanel objPanel) { propsSplitter objOppSplitter = null; if (objSplitter.Splitter == splitterLeft) { objOppSplitter = objPanel.Splitters.Find(itm => (itm.Splitter == splitterRight)); } if (objSplitter.Splitter == splitterRight) { objOppSplitter = objPanel.Splitters.Find(itm => (itm.Splitter == splitterLeft)); } return(objOppSplitter); }