OfficeVba/docx/border/TSDocxBorder.tsf

446 lines
14 KiB
Plaintext

Type TSDocxBorder = Class(TSVbaBase)
Uses TSDocxEnumerations;
public
Function Init(borders);
Function Apply();virtual;
protected
border_;
color_;
color_index_;
public
// Properties
property ArtStyle read ReadArtStyle write WriteArtStyle;
property ArtWidth read ReadArtWidth write WriteArtWidth;
property Color read ReadColor write WriteColor;
property ColorIndex read ReadColorIndex write WriteColorIndex;
property Inside read ReadInside;
property LineStyle read ReadLineStyle write WriteLineStyle;
property LineWidth read ReadLineWidth write WriteLineWidth;
property Visible read ReadVisible write WriteVisible;
Function WriteVisible(value);virtual;
Function ReadVisible();virtual;
Function WriteLineWidth(value);virtual;
Function ReadLineWidth();virtual;
Function WriteLineStyle(value);virtual;
Function ReadLineStyle();virtual;
Function ReadInside();virtual; // don't complete
Function WriteColorIndex(value);virtual;
Function ReadColorIndex();virtual;
Function WriteColor(value);virtual;
Function ReadColor();virtual;
Function WriteArtWidth(value);virtual;
Function ReadArtWidth();virtual;
Function WriteArtStyle(value);virtual;
Function ReadArtStyle();virtual;
End;
// ============== 实现 ================= //
Function TSDocxBorder.Init(border);
Begin
border_ := border;
color_index_ := TSWdColorIndex();
color_ := TSWdColor();
End;
Function TSDocxBorder.Apply();virtual;
Begin
border_.Update("first");
End
// property
Function TSDocxBorder.WriteArtStyle(value);virtual;
Begin
case value of
TSDocxEnumerations.wdArtApples():
border_.Val := "apples";
// TSDocxEnumerations.wdArtArchedScallops():
// TSDocxEnumerations.wdArtBabyPacifier():
// TSDocxEnumerations.wdArtBabyRattle():
// TSDocxEnumerations.wdArtBalloons3Colors():
// TSDocxEnumerations.wdArtBalloonsHotAir():
// TSDocxEnumerations.wdArtBasicBlackDashes():
// TSDocxEnumerations.wdArtBasicBlackDots():
// TSDocxEnumerations.wdArtBasicBlackSquares():
// TSDocxEnumerations.wdArtBasicThinLines():
// TSDocxEnumerations.wdArtBasicWhiteDashes():
// TSDocxEnumerations.wdArtBasicWhiteDots():
// TSDocxEnumerations.wdArtBasicWhiteSquares():
// TSDocxEnumerations.wdArtBasicWideInline():
// TSDocxEnumerations.wdArtBasicWideMidline():
// TSDocxEnumerations.wdArtBasicWideOutline():
// TSDocxEnumerations.wdArtBats():
// TSDocxEnumerations.wdArtBirds():
// TSDocxEnumerations.wdArtBirdsFlight():
// TSDocxEnumerations.wdArtCabins():
// TSDocxEnumerations.wdArtCakeSlice():
// TSDocxEnumerations.wdArtCandyCorn():
// TSDocxEnumerations.wdArtCelticKnotwork():
// TSDocxEnumerations.wdArtCertificateBanner():
// TSDocxEnumerations.wdArtChainLink():
// TSDocxEnumerations.wdArtChampagneBottle():
// TSDocxEnumerations.wdArtCheckedBarBlack():
// TSDocxEnumerations.wdArtCheckedBarColor():
// TSDocxEnumerations.wdArtCheckered():
// TSDocxEnumerations.wdArtChristmasTree():
// TSDocxEnumerations.wdArtCirclesLines():
// TSDocxEnumerations.wdArtCirclesRectangles():
// TSDocxEnumerations.wdArtClassicalWave():
// TSDocxEnumerations.wdArtClocks():
// TSDocxEnumerations.wdArtCompass():
// TSDocxEnumerations.wdArtConfetti():
// TSDocxEnumerations.wdArtConfettiGrays():
// TSDocxEnumerations.wdArtConfettiOutline():
// TSDocxEnumerations.wdArtConfettiStreamers():
// TSDocxEnumerations.wdArtConfettiWhite():
// TSDocxEnumerations.wdArtCornerTriangles():
// TSDocxEnumerations.wdArtCouponCutoutDashes():
// TSDocxEnumerations.wdArtCouponCutoutDots():
// TSDocxEnumerations.wdArtCrazyMaze():
// TSDocxEnumerations.wdArtCreaturesButterfly():
// TSDocxEnumerations.wdArtCreaturesFish():
// TSDocxEnumerations.wdArtCreaturesInsects():
// TSDocxEnumerations.wdArtCreaturesLadyBug():
// TSDocxEnumerations.wdArtCrossStitch():
// TSDocxEnumerations.wdArtCup():
// TSDocxEnumerations.wdArtDecoArch():
// TSDocxEnumerations.wdArtDecoArchColor():
// TSDocxEnumerations.wdArtDecoBlocks():
// TSDocxEnumerations.wdArtDiamondsGray():
// TSDocxEnumerations.wdArtDoubleD():
// TSDocxEnumerations.wdArtDoubleDiamonds():
// TSDocxEnumerations.wdArtEarth1():
// TSDocxEnumerations.wdArtEarth2():
// TSDocxEnumerations.wdArtEclipsingSquares1():
// TSDocxEnumerations.wdArtEclipsingSquares2():
// TSDocxEnumerations.wdArtEggsBlack():
// TSDocxEnumerations.wdArtFans():
// TSDocxEnumerations.wdArtFilm():
// TSDocxEnumerations.wdArtFirecrackers():
// TSDocxEnumerations.wdArtFlowersBlockPrint():
// TSDocxEnumerations.wdArtFlowersDaisies():
// TSDocxEnumerations.wdArtFlowersModern1():
// TSDocxEnumerations.wdArtFlowersModern2():
// TSDocxEnumerations.wdArtFlowersPansy():
// TSDocxEnumerations.wdArtFlowersRedRose():
// TSDocxEnumerations.wdArtFlowersRoses():
// TSDocxEnumerations.wdArtFlowersTeacup():
// TSDocxEnumerations.wdArtFlowersTiny():
// TSDocxEnumerations.wdArtGems():
// TSDocxEnumerations.wdArtGingerbreadMan():
// TSDocxEnumerations.wdArtGradient():
// TSDocxEnumerations.wdArtHandmade1():
// TSDocxEnumerations.wdArtHandmade2():
// TSDocxEnumerations.wdArtHeartBalloon():
// TSDocxEnumerations.wdArtHeartGray():
// TSDocxEnumerations.wdArtHearts():
// TSDocxEnumerations.wdArtHeebieJeebies():
// TSDocxEnumerations.wdArtHolly():
// TSDocxEnumerations.wdArtHouseFunky():
// TSDocxEnumerations.wdArtHypnotic():
// TSDocxEnumerations.wdArtIceCreamCones():
// TSDocxEnumerations.wdArtLightBulb():
// TSDocxEnumerations.wdArtLightning1():
// TSDocxEnumerations.wdArtLightning2():
// TSDocxEnumerations.wdArtMapleLeaf():
// TSDocxEnumerations.wdArtMapleMuffins():
// TSDocxEnumerations.wdArtMapPins():
// TSDocxEnumerations.wdArtMarquee():
// TSDocxEnumerations.wdArtMarqueeToothed():
// TSDocxEnumerations.wdArtMoons():
// TSDocxEnumerations.wdArtMosaic():
// TSDocxEnumerations.wdArtMusicNotes():
// TSDocxEnumerations.wdArtNorthwest():
// TSDocxEnumerations.wdArtOvals():
// TSDocxEnumerations.wdArtPackages():
// TSDocxEnumerations.wdArtPalmsBlack():
// TSDocxEnumerations.wdArtPalmsColor():
// TSDocxEnumerations.wdArtPaperClips():
// TSDocxEnumerations.wdArtPapyrus():
// TSDocxEnumerations.wdArtPartyFavor():
// TSDocxEnumerations.wdArtPartyGlass():
// TSDocxEnumerations.wdArtPencils():
// TSDocxEnumerations.wdArtPeople():
// TSDocxEnumerations.wdArtPeopleHats():
// TSDocxEnumerations.wdArtPeopleWaving():
// TSDocxEnumerations.wdArtPoinsettias():
// TSDocxEnumerations.wdArtPostageStamp():
// TSDocxEnumerations.wdArtPumpkin1():
// TSDocxEnumerations.wdArtPushPinNote1():
// TSDocxEnumerations.wdArtPushPinNote2():
// TSDocxEnumerations.wdArtPyramids():
// TSDocxEnumerations.wdArtPyramidsAbove():
// TSDocxEnumerations.wdArtQuadrants():
// TSDocxEnumerations.wdArtRings():
// TSDocxEnumerations.wdArtSafari():
// TSDocxEnumerations.wdArtSawtooth():
// TSDocxEnumerations.wdArtSawtoothGray():
// TSDocxEnumerations.wdArtScaredCat():
// TSDocxEnumerations.wdArtSeattle():
// TSDocxEnumerations.wdArtShadowedSquares():
// TSDocxEnumerations.wdArtSharksTeeth():
// TSDocxEnumerations.wdArtShorebirdTracks():
// TSDocxEnumerations.wdArtSkyrocket():
// TSDocxEnumerations.wdArtSnowflakeFancy():
// TSDocxEnumerations.wdArtSnowflakes():
// TSDocxEnumerations.wdArtSombrero():
// TSDocxEnumerations.wdArtSouthwest():
// TSDocxEnumerations.wdArtStars():
// TSDocxEnumerations.wdArtStars3D():
// TSDocxEnumerations.wdArtStarsBlack():
// TSDocxEnumerations.wdArtStarsShadowed():
// TSDocxEnumerations.wdArtStarsTop():
// TSDocxEnumerations.wdArtSun():
// TSDocxEnumerations.wdArtSwirligig():
// TSDocxEnumerations.wdArtTornPaper():
// TSDocxEnumerations.wdArtTornPaperBlack():
// TSDocxEnumerations.wdArtTrees():
// TSDocxEnumerations.wdArtTriangleParty():
// TSDocxEnumerations.wdArtTriangles():
// TSDocxEnumerations.wdArtTribal1():
// TSDocxEnumerations.wdArtTribal2():
// TSDocxEnumerations.wdArtTribal3():
// TSDocxEnumerations.wdArtTribal4():
// TSDocxEnumerations.wdArtTribal5():
// TSDocxEnumerations.wdArtTribal6():
// TSDocxEnumerations.wdArtTwistedLines1():
// TSDocxEnumerations.wdArtTwistedLines2():
// TSDocxEnumerations.wdArtVine():
// TSDocxEnumerations.wdArtWaveline():
// TSDocxEnumerations.wdArtWeavingAngles():
// TSDocxEnumerations.wdArtWeavingBraid():
// TSDocxEnumerations.wdArtWeavingRibbon():
// TSDocxEnumerations.wdArtWeavingStrips():
// TSDocxEnumerations.wdArtWhiteFlowers():
// TSDocxEnumerations.wdArtWoodwork():
// TSDocxEnumerations.wdArtXIllusions():
// TSDocxEnumerations.wdArtZanyTriangles():
// TSDocxEnumerations.wdArtZigZag():
// TSDocxEnumerations.wdArtZigZagStitch():
end;
End;
Function TSDocxBorder.ReadArtStyle();virtual;
Begin
value := border_.Value("Val");
case value of
"apples": return TSDocxEnumerations.wdArtApples();
end;
End;
Function TSDocxBorder.WriteArtWidth(value);virtual;
Begin
border_.Size := value;
End;
Function TSDocxBorder.ReadArtWidth();virtual;
Begin
return border_.Value("Size");
End;
Function TSDocxBorder.WriteColor(value);virtual;
Begin
border_.Color := color_[value];
End;
Function TSDocxBorder.ReadColor();virtual;
Begin
return color_[border_.Value("Color")];
End;
Function TSDocxBorder.WriteColorIndex(value);virtual;
Begin
color_index := color_index_[value];
if ifnil(color_index) then border_.Root().DeleteAttribute("w:color");
else begin
border_.Color := color_index;
end
End;
Function TSDocxBorder.ReadColorIndex();virtual;
Begin
return color_index_[border_.Value("Color")];
End;
Function TSDocxBorder.WriteLineStyle(value);virtual;
Begin
case value of
TSDocxEnumerations.wdLineStyleDashDot():
border_.Val := "dotDash";
TSDocxEnumerations.wdLineStyleDashDotDot():
border_.Val := "dotDotDash";
TSDocxEnumerations.wdLineStyleDashDotStroked():
border_.Val := "dashDotStroked";
TSDocxEnumerations.wdLineStyleDashLargeGap():
border_.Val := "dashed";
TSDocxEnumerations.wdLineStyleDashSmallGap():
border_.Val := "dashSmallGap";
TSDocxEnumerations.wdLineStyleDot():
border_.Val := "dotted";
TSDocxEnumerations.wdLineStyleDouble():
border_.Val := "double";
TSDocxEnumerations.wdLineStyleDoubleWavy():
border_.Val := "doubleWave";
TSDocxEnumerations.wdLineStyleEmboss3D():
border_.Val := "threeDEmboss";
TSDocxEnumerations.wdLineStyleEngrave3D():
border_.Val := "threeDEngrave";
TSDocxEnumerations.wdLineStyleInset():
border_.Val := "inset";
TSDocxEnumerations.wdLineStyleNone():
border_.Val := "none";
TSDocxEnumerations.wdLineStyleOutset():
border_.Val := "outset";
TSDocxEnumerations.wdLineStyleSingle():
border_.Val := "single";
TSDocxEnumerations.wdLineStyleSingleWavy():
border_.Val := "wave";
TSDocxEnumerations.wdLineStyleThickThinLargeGap():
border_.Val := "thickThinLargeGap";
TSDocxEnumerations.wdLineStyleThickThinMedGap():
border_.Val := "thickThinMediumGap";
TSDocxEnumerations.wdLineStyleThickThinSmallGap():
border_.Val := "thickThinSmallGap";
TSDocxEnumerations.wdLineStyleThinThickLargeGap():
border_.Val := "thinThickLargeGap";
TSDocxEnumerations.wdLineStyleThinThickMedGap():
border_.Val := "thinThickMediumGap";
TSDocxEnumerations.wdLineStyleThinThickSmallGap():
border_.Val := "thinThickSmallGap";
TSDocxEnumerations.wdLineStyleThinThickThinLargeGap():
border_.Val := "thinThickThinLargeGap";
TSDocxEnumerations.wdLineStyleThinThickThinMedGap():
border_.Val := "thinThickThinMediumGap";
TSDocxEnumerations.wdLineStyleThinThickThinSmallGap():
border_.Val := "thinThickThinSmallGap";
TSDocxEnumerations.wdLineStyleTriple():
border_.Val := "triple";
end;
End;
Function TSDocxBorder.ReadLineStyle();virtual;
Begin
value := border_.Value("Val");
case value of
"dotDash":
return TSDocxEnumerations.wdLineStyleDashDot();
"dotDotDash":
return TSDocxEnumerations.wdLineStyleDashDotDot();
"dashDotStroked":
return TSDocxEnumerations.wdLineStyleDashDotStroked();
"dashed":
return TSDocxEnumerations.wdLineStyleDashLargeGap();
"dashSmallGap":
return TSDocxEnumerations.wdLineStyleDashSmallGap();
"dotted":
return TSDocxEnumerations.wdLineStyleDot();
"double":
return TSDocxEnumerations.wdLineStyleDouble();
"doubleWave":
return TSDocxEnumerations.wdLineStyleDoubleWavy();
"threeDEmboss":
return TSDocxEnumerations.wdLineStyleEmboss3D();
"threeDEngrave":
return TSDocxEnumerations.wdLineStyleEngrave3D();
"inset":
return TSDocxEnumerations.wdLineStyleInset();
"none":
return TSDocxEnumerations.wdLineStyleNone();
"outset":
return TSDocxEnumerations.wdLineStyleOutset();
"single":
return TSDocxEnumerations.wdLineStyleSingle();
"wave":
return TSDocxEnumerations.wdLineStyleSingleWavy();
"thickThinLargeGap":
return TSDocxEnumerations.wdLineStyleThickThinLargeGap();
"thickThinMediumGap":
return TSDocxEnumerations.wdLineStyleThickThinMedGap();
"thickThinSmallGap":
return TSDocxEnumerations.wdLineStyleThickThinSmallGap();
"thinThickLargeGap":
return TSDocxEnumerations.wdLineStyleThinThickLargeGap();
"thinThickMediumGap":
return TSDocxEnumerations.wdLineStyleThinThickMedGap();
"thinThickSmallGap":
return TSDocxEnumerations.wdLineStyleThinThickSmallGap();
"thinThickThinLargeGap":
return TSDocxEnumerations.wdLineStyleThinThickThinLargeGap();
"thinThickThinMediumGap":
return TSDocxEnumerations.wdLineStyleThinThickThinMedGap();
"thinThickThinSmallGap":
return TSDocxEnumerations.wdLineStyleThinThickThinSmallGap();
"triple":
return TSDocxEnumerations.wdLineStyleTriple();
end;
End;
Function TSDocxBorder.WriteLineWidth(value);virtual;
Begin
border_.Size := value;
End;
Function TSDocxBorder.ReadLineWidth();virtual;
Begin
return border_.Value("Size");
End;
Function TSDocxBorder.WriteVisible(value);virtual;
Begin
v := value ? "single" : "nil";
End;
Function TSDocxBorder.ReadVisible();virtual;
Begin
value := border_.Value("Val");
return value = "nil" ? false : true;
End;