private void UpdateProperties() { if (this.propertyGrid1.InvokeRequired) { UpdatePropertiesCallback d = new UpdatePropertiesCallback(UpdateProperties); this.Invoke(d); } else { Drawing drawing = drawingHandler.GetActiveDrawing(); if (drawing != null) { DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); statusLabel.Text = drawingObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (drawingObjectEnum.GetSize() == 0) { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } while (drawingObjectEnum.MoveNext()) { string objectType = drawingObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) { arraySelectedObjects.Add(objectType); } } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) { comboBox1.Items.Add(objectName); } if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Part") { drawingPart.GetProperties(); propertyGrid1.SelectedObject = drawingPart; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Weld") { drawingWeld.GetProperties(); propertyGrid1.SelectedObject = drawingWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.View") { view.GetProperties(); propertyGrid1.SelectedObject = view; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Bolt") { drawingBolt.GetProperties(); propertyGrid1.SelectedObject = drawingBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.StraightDimensionSet") { straightDim.GetProperties(); propertyGrid1.SelectedObject = straightDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.RadiusDimension") { radiusDim.GetProperties(); propertyGrid1.SelectedObject = radiusDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.CurvedDimensionSetRadial") { radialDim.GetProperties(); propertyGrid1.SelectedObject = radialDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.AngleDimension") { angleDim.GetProperties(); propertyGrid1.SelectedObject = angleDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.GridLine") { drawingGrid.GetProperties(); propertyGrid1.SelectedObject = drawingGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Line") { line.GetProperties(); propertyGrid1.SelectedObject = line; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Arc") { arc.GetProperties(); propertyGrid1.SelectedObject = arc; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polyline") { polyline.GetProperties(); propertyGrid1.SelectedObject = polyline; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Rectangle") { rectangle.GetProperties(); propertyGrid1.SelectedObject = rectangle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Circle") { circle.GetProperties(); propertyGrid1.SelectedObject = circle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polygon") { polygon.GetProperties(); propertyGrid1.SelectedObject = polygon; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Text") { text.GetProperties(); propertyGrid1.SelectedObject = text; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Symbol") { symbol.GetProperties(); propertyGrid1.SelectedObject = symbol; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Mark") { mark.GetProperties(); propertyGrid1.SelectedObject = mark; } else { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) { propertyGrid1.SelectedObject = null; } } if (drawing == null) { ModelObjectEnumerator modelObjectEnum = model.GetModelObjectSelector().GetSelectedObjects(); statusLabel.Text = modelObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (modelObjectEnum.GetSize() == 0) { propertyGrid1.SelectedObject = null; } while (modelObjectEnum.MoveNext()) { string objectType = modelObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) { arraySelectedObjects.Add(objectType); } } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) { comboBox1.Items.Add(objectName); } if (arraySelectedObjects.Count == 0) { Tekla.Structures.Model.UI.ModelViewEnumerator modelViewEnum = Tekla.Structures.Model.UI.ViewHandler.GetSelectedViews(); if (modelViewEnum.Count == 1) { modelView.GetProperties(); propertyGrid1.SelectedObject = modelView; comboBox1.SelectedText = "Tekla.Structures.Model.UI.View"; propertyGrid1.Focus(); } } if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Beam") { beam.GetProperties(); propertyGrid1.SelectedObject = beam; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.ContourPlate") { contourPlate.GetProperties(); propertyGrid1.SelectedObject = contourPlate; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Weld")) { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.PolygonWeld") { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Bolt")) { modelBolt.GetProperties(); propertyGrid1.SelectedObject = modelBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Grid") { modelGrid.GetProperties(); propertyGrid1.SelectedObject = modelGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Connection") { modelConnection.GetProperties(); propertyGrid1.SelectedObject = modelConnection; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) { propertyGrid1.SelectedObject = null; } } } }
private void UpdateProperties() { if (this.propertyGrid1.InvokeRequired) { UpdatePropertiesCallback d = new UpdatePropertiesCallback(UpdateProperties); this.Invoke(d); } else { Drawing drawing = drawingHandler.GetActiveDrawing(); if (drawing != null) { DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected(); statusLabel.Text = drawingObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (drawingObjectEnum.GetSize() == 0) { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } while (drawingObjectEnum.MoveNext()) { string objectType = drawingObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) arraySelectedObjects.Add(objectType); } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) comboBox1.Items.Add(objectName); if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Part") { drawingPart.GetProperties(); propertyGrid1.SelectedObject = drawingPart; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Weld") { drawingWeld.GetProperties(); propertyGrid1.SelectedObject = drawingWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.View") { view.GetProperties(); propertyGrid1.SelectedObject = view; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Bolt") { drawingBolt.GetProperties(); propertyGrid1.SelectedObject = drawingBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.StraightDimensionSet") { straightDim.GetProperties(); propertyGrid1.SelectedObject = straightDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.RadiusDimension") { radiusDim.GetProperties(); propertyGrid1.SelectedObject = radiusDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.CurvedDimensionSetRadial") { radialDim.GetProperties(); propertyGrid1.SelectedObject = radialDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.AngleDimension") { angleDim.GetProperties(); propertyGrid1.SelectedObject = angleDim; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.GridLine") { drawingGrid.GetProperties(); propertyGrid1.SelectedObject = drawingGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Line") { line.GetProperties(); propertyGrid1.SelectedObject = line; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Arc") { arc.GetProperties(); propertyGrid1.SelectedObject = arc; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polyline") { polyline.GetProperties(); propertyGrid1.SelectedObject = polyline; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Rectangle") { rectangle.GetProperties(); propertyGrid1.SelectedObject = rectangle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Circle") { circle.GetProperties(); propertyGrid1.SelectedObject = circle; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Polygon") { polygon.GetProperties(); propertyGrid1.SelectedObject = polygon; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Text") { text.GetProperties(); propertyGrid1.SelectedObject = text; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Symbol") { symbol.GetProperties(); propertyGrid1.SelectedObject = symbol; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Drawing.Mark") { mark.GetProperties(); propertyGrid1.SelectedObject = mark; } else { activeDrawing.GetProperties(); propertyGrid1.SelectedObject = activeDrawing; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) propertyGrid1.SelectedObject = null; } if (drawing == null) { Tekla.Structures.Model.UI.ModelObjectSelector modelObjectSelector = new Tekla.Structures.Model.UI.ModelObjectSelector(); ModelObjectEnumerator modelObjectEnum = modelObjectSelector.GetSelectedObjects(); statusLabel.Text = modelObjectEnum.GetSize().ToString() + " objects selected"; ArrayList arraySelectedObjects = new ArrayList(); if (modelObjectEnum.GetSize() == 0) propertyGrid1.SelectedObject = null; while (modelObjectEnum.MoveNext()) { string objectType = modelObjectEnum.Current.GetType().ToString(); if (!arraySelectedObjects.Contains(objectType)) arraySelectedObjects.Add(objectType); } comboBox1.Text = ""; comboBox1.Items.Clear(); arraySelectedObjects.Sort(); foreach (string objectName in arraySelectedObjects) comboBox1.Items.Add(objectName); if (arraySelectedObjects.Count == 0) { Tekla.Structures.Model.UI.ModelViewEnumerator modelViewEnum = Tekla.Structures.Model.UI.ViewHandler.GetSelectedViews(); if (modelViewEnum.Count == 1) { modelView.GetProperties(); propertyGrid1.SelectedObject = modelView; comboBox1.SelectedText = "Tekla.Structures.Model.UI.View"; propertyGrid1.Focus(); } } if (arraySelectedObjects.Count == 1) { if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Beam") { beam.GetProperties(); propertyGrid1.SelectedObject = beam; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.ContourPlate") { contourPlate.GetProperties(); propertyGrid1.SelectedObject = contourPlate; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Weld")) { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.PolygonWeld") { modelWeld.GetProperties(); propertyGrid1.SelectedObject = modelWeld; } else if (arraySelectedObjects[0].ToString().Contains("Tekla.Structures.Model.Bolt")) { modelBolt.GetProperties(); propertyGrid1.SelectedObject = modelBolt; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Grid") { modelGrid.GetProperties(); propertyGrid1.SelectedObject = modelGrid; } else if (arraySelectedObjects[0].ToString() == "Tekla.Structures.Model.Connection") { modelConnection.GetProperties(); propertyGrid1.SelectedObject = modelConnection; } comboBox1.SelectedText = arraySelectedObjects[0].ToString(); propertyGrid1.Focus(); } if (arraySelectedObjects.Count > 1) propertyGrid1.SelectedObject = null; } } }