Esempio n. 1
0
        public void Modify(PropertyValueChangedEventArgs e)
        {
            string label = e.ChangedItem.Label;
            Drawing drawing = drawingHandler.GetActiveDrawing();
            DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();
            while (drawingObjectEnum.MoveNext())
            {
                if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Symbol)
                {
                    Tekla.Structures.Drawing.Symbol drawingSymbol = (Tekla.Structures.Drawing.Symbol)drawingObjectEnum.Current;
                    if (label == "Angle") drawingSymbol.Attributes.Angle = double.Parse(angle);
                    if (label == "Colour") drawingSymbol.Attributes.Color = colour;
                    if (label == "FrameColour") drawingSymbol.Attributes.Frame.Color = frameColour;
                    if (label == "FrameType") drawingSymbol.Attributes.Frame.Type = (FrameTypes)Enum.Parse(typeof(FrameTypes), frameType.ToString());
                    if (label == "SymbolHeight") drawingSymbol.Attributes.Height = double.Parse(height);

                    if (label == "PlacingType")
                    {
                        if (placingType == PlacingTypeEnum.PointPlacing) drawingSymbol.Placing = PlacingTypes.PointPlacing();
                        else if (placingType == PlacingTypeEnum.LeaderLinePlacing) drawingSymbol.Placing = PlacingTypes.LeaderLinePlacing(drawingSymbol.InsertionPoint);
                    }

                    if (label == "SymbolFile") drawingSymbol.SymbolInfo.SymbolFile = symbolFile;
                    if (label == "SymbolIndex") drawingSymbol.SymbolInfo.SymbolIndex = int.Parse(symbolIndex);
                    drawingSymbol.Modify();
                    drawing.CommitChanges();
                }
            }
        }
Esempio n. 2
0
        public void GetProperties()
        {
            DrawingObjectEnumerator drawingObjectEnum = drawingHandler.GetDrawingObjectSelector().GetSelected();
            if (drawingObjectEnum.GetSize() == 1)
            {
                while (drawingObjectEnum.MoveNext())
                {
                    if (drawingObjectEnum.Current is Tekla.Structures.Drawing.Symbol)
                    {
                        Tekla.Structures.Drawing.Symbol drawingSymbol = (Tekla.Structures.Drawing.Symbol)drawingObjectEnum.Current;
                        angle = drawingSymbol.Attributes.Angle.ToString();
                        colour = drawingSymbol.Attributes.Color;
                        frameColour = drawingSymbol.Attributes.Frame.Color;
                        frameType = (FrameTypeEnum)Enum.Parse(typeof(FrameTypeEnum), drawingSymbol.Attributes.Frame.Type.ToString());
                        height = drawingSymbol.Attributes.Height.ToString();
                        insertionPoint = drawingSymbol.InsertionPoint;

                        string placing = drawingSymbol.Placing.ToString().Replace("Tekla.Structures.Drawing.", "");
                        placingType = (PlacingTypeEnum)Enum.Parse(typeof(PlacingTypeEnum), placing);

                        symbolFile = drawingSymbol.SymbolInfo.SymbolFile;
                        symbolIndex = drawingSymbol.SymbolInfo.SymbolIndex.ToString();
                    }
                }
            }
            else if (drawingObjectEnum.GetSize() > 1)
            {
                angle = "";
                colour = new DrawingColors();
                frameColour = new DrawingColors();
                frameType = new FrameTypeEnum();
                height = "";
                insertionPoint = null;
                placingType = new PlacingTypeEnum();
                symbolFile = "";
                symbolIndex = "";
            }
        }