Exemplo n.º 1
0
 private static void GetDrawingModeAndWrapType(OXmlPictureDrawingType drawingType, out OXmlPictureDrawingMode drawingMode, out OXmlAnchorWrapType wrapType)
 {
     switch (drawingType)
     {
         case OXmlPictureDrawingType.Inline:
             drawingMode = OXmlPictureDrawingMode.Inline;
             wrapType = OXmlAnchorWrapType.WrapNone;
             break;
         case OXmlPictureDrawingType.AnchorWrapNone:
             drawingMode = OXmlPictureDrawingMode.Anchor;
             wrapType = OXmlAnchorWrapType.WrapNone;
             break;
         case OXmlPictureDrawingType.AnchorWrapSquare:
             drawingMode = OXmlPictureDrawingMode.Anchor;
             wrapType = OXmlAnchorWrapType.WrapSquare;
             break;
         case OXmlPictureDrawingType.AnchorWrapTight:
             drawingMode = OXmlPictureDrawingMode.Anchor;
             wrapType = OXmlAnchorWrapType.WrapTight;
             break;
         case OXmlPictureDrawingType.AnchorWrapThrough:
             drawingMode = OXmlPictureDrawingMode.Anchor;
             wrapType = OXmlAnchorWrapType.WrapThrough;
             break;
         case OXmlPictureDrawingType.AnchorWrapTopAndBottom:
             drawingMode = OXmlPictureDrawingMode.Anchor;
             wrapType = OXmlAnchorWrapType.WrapTopAndBottom;
             break;
         default:
             throw new PBException($"unknow DrawingType {drawingType}");
     }
 }
Exemplo n.º 2
0
        private static OXmlAnchorPictureDrawing CreateAnchorPictureDrawing(BsonDocument element, OXmlAnchorWrapType wrapType)
        {
            OXmlAnchorPictureDrawing anchor = new OXmlAnchorPictureDrawing();

            anchor.AnchorId           = element.zGet("AnchorId").zAsString();
            anchor.EditId             = element.zGet("EditId").zAsString();
            anchor.DistanceFromTop    = element.zGet("DistanceFromTop").zAsNullableInt();
            anchor.DistanceFromBottom = element.zGet("DistanceFromBottom").zAsNullableInt();
            anchor.DistanceFromLeft   = element.zGet("DistanceFromLeft").zAsNullableInt();
            anchor.DistanceFromRight  = element.zGet("DistanceFromRight").zAsNullableInt();

            anchor.HorizontalPosition.RelativeFrom        = element.zGet("HorizontalRelativeFrom").zAsString().zTryParseEnum(DW.HorizontalRelativePositionValues.Margin);
            anchor.HorizontalPosition.PositionOffset      = element.zGet("HorizontalPositionOffset").zAsNullableInt();
            anchor.HorizontalPosition.HorizontalAlignment = element.zGet("HorizontalAlignment").zAsString();

            anchor.VerticalPosition.RelativeFrom      = element.zGet("VerticalRelativeFrom").zAsString().zTryParseEnum(DW.VerticalRelativePositionValues.Paragraph);
            anchor.VerticalPosition.PositionOffset    = element.zGet("VerticalPositionOffset").zAsNullableInt();
            anchor.VerticalPosition.VerticalAlignment = element.zGet("VerticalAlignment").zAsString();

            anchor.EffectExtent = CreateEffectExtent(element.zGet("EffectExtent").zAsBsonDocument());

            anchor.AllowOverlap   = element.zGet("AllowOverlap").zAsBoolean();
            anchor.BehindDoc      = element.zGet("BehindDoc").zAsBoolean();
            anchor.Hidden         = element.zGet("Hidden").zAsBoolean();
            anchor.LayoutInCell   = element.zGet("LayoutInCell").zAsBoolean();
            anchor.Locked         = element.zGet("Locked").zAsBoolean();
            anchor.RelativeHeight = element.zGet("RelativeHeight").zAsInt();

            BsonDocument element2 = element.zGet("SimplePosition").zAsBsonDocument();

            if (element2 != null)
            {
                anchor.SimplePosition = new OXmlPoint2DType {
                    X = element2.zGet("X").zAsLong(), Y = element.zGet("Y").zAsLong()
                }
            }
            ;

            switch (wrapType)
            {
            //case OXmlAnchorWrapType.WrapNone:
            case OXmlAnchorWrapType.WrapSquare:
                anchor.Wrap = CreateAnchorWrapSquare(element.zGet("WrapSquare").zAsBsonDocument());
                break;

            case OXmlAnchorWrapType.WrapTight:
                anchor.Wrap = CreateAnchorWrapTight(element.zGet("WrapTight").zAsBsonDocument());
                break;

            //case OXmlAnchorWrapType.WrapThrough:
            case OXmlAnchorWrapType.WrapTopAndBottom:
                anchor.Wrap = CreateAnchorWrapTopAndBottom(element.zGet("WrapTopAndBottom").zAsBsonDocument());
                break;

            default:
                throw new PBException($"wrap type \"{wrapType}\" not implemented");
            }

            return(anchor);
        }
Exemplo n.º 3
0
        private static void GetDrawingModeAndWrapType(OXmlPictureDrawingType drawingType, out OXmlPictureDrawingMode drawingMode, out OXmlAnchorWrapType wrapType)
        {
            switch (drawingType)
            {
            case OXmlPictureDrawingType.Inline:
                drawingMode = OXmlPictureDrawingMode.Inline;
                wrapType    = OXmlAnchorWrapType.WrapNone;
                break;

            case OXmlPictureDrawingType.AnchorWrapNone:
                drawingMode = OXmlPictureDrawingMode.Anchor;
                wrapType    = OXmlAnchorWrapType.WrapNone;
                break;

            case OXmlPictureDrawingType.AnchorWrapSquare:
                drawingMode = OXmlPictureDrawingMode.Anchor;
                wrapType    = OXmlAnchorWrapType.WrapSquare;
                break;

            case OXmlPictureDrawingType.AnchorWrapTight:
                drawingMode = OXmlPictureDrawingMode.Anchor;
                wrapType    = OXmlAnchorWrapType.WrapTight;
                break;

            case OXmlPictureDrawingType.AnchorWrapThrough:
                drawingMode = OXmlPictureDrawingMode.Anchor;
                wrapType    = OXmlAnchorWrapType.WrapThrough;
                break;

            case OXmlPictureDrawingType.AnchorWrapTopAndBottom:
                drawingMode = OXmlPictureDrawingMode.Anchor;
                wrapType    = OXmlAnchorWrapType.WrapTopAndBottom;
                break;

            default:
                throw new PBException($"unknow DrawingType {drawingType}");
            }
        }
Exemplo n.º 4
-1
        private static OXmlAnchorPictureDrawing CreateAnchorPictureDrawing(BsonDocument element, OXmlAnchorWrapType wrapType)
        {
            OXmlAnchorPictureDrawing anchor = new OXmlAnchorPictureDrawing();
            //string wrapType = element.zGet("WrapType").zAsString();
            //switch (wrapType.ToLower())
            //{
            //    //case "wrapnone":
            //    case "wrapsquare":
            //        anchor.Wrap = CreateAnchorWrapSquare(element);
            //        break;
            //    case "wraptight":
            //        anchor.Wrap = CreateAnchorWrapTight(element);
            //        break;
            //    //case "wrapthrough":
            //    case "wraptopandbottom":
            //        anchor.Wrap = CreateAnchorWrapTopAndBottom(element);
            //        break;
            //    default:
            //        throw new PBException($"unknow oxml wrap type \"{wrapType}\"");
            //}
            switch (wrapType)
            {
                //case OXmlAnchorWrapType.WrapNone:
                case OXmlAnchorWrapType.WrapSquare:
                    anchor.Wrap = CreateAnchorWrapSquare(element);
                    break;
                case OXmlAnchorWrapType.WrapTight:
                    anchor.Wrap = CreateAnchorWrapTight(element);
                    break;
                //case OXmlAnchorWrapType.WrapThrough:
                case OXmlAnchorWrapType.WrapTopAndBottom:
                    anchor.Wrap = CreateAnchorWrapTopAndBottom(element);
                    break;
                default:
                    throw new PBException($"wrap type \"{wrapType}\" not implemented");
            }

            // Margin, Page, Column, Character, LeftMargin, RightMargin, InsideMargin, OutsideMargin
            anchor.HorizontalRelativeFrom = element.zGet("HorizontalRelativeFrom").zAsString().zTryParseEnum(DW.HorizontalRelativePositionValues.Margin);
            anchor.HorizontalPositionOffset = element.zGet("HorizontalPositionOffset").zAsNullableInt();
            anchor.HorizontalAlignment = element.zGet("HorizontalAlignment").zAsString();

            anchor.VerticalRelativeFrom = element.zGet("VerticalRelativeFrom").zAsString().zTryParseEnum(DW.VerticalRelativePositionValues.Paragraph);
            anchor.VerticalPositionOffset = element.zGet("VerticalPositionOffset").zAsNullableInt();
            anchor.VerticalAlignment = element.zGet("VerticalAlignment").zAsString();

            return anchor;
        }