Пример #1
0
        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;
                    }
                }
            }
        }
Пример #2
0
        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;
                }
            }
        }