|
|
@@ -11,19 +11,55 @@ package excelize
|
|
|
|
|
|
import "encoding/xml"
|
|
|
|
|
|
-// decodeCellAnchor directly maps the oneCellAnchor (One Cell Anchor Shape Size)
|
|
|
-// and twoCellAnchor (Two Cell Anchor Shape Size). This element specifies a two
|
|
|
-// cell anchor placeholder for a group, a shape, or a drawing element. It moves
|
|
|
-// with cells and its extents are in EMU units.
|
|
|
+// decodeCellAnchor directly maps the oneCellAnchor (One Cell Anchor Shape
|
|
|
+// Size) and twoCellAnchor (Two Cell Anchor Shape Size). This element
|
|
|
+// specifies a two cell anchor placeholder for a group, a shape, or a drawing
|
|
|
+// element. It moves with cells and its extents are in EMU units.
|
|
|
type decodeCellAnchor struct {
|
|
|
- EditAs string `xml:"editAs,attr,omitempty"`
|
|
|
- Content string `xml:",innerxml"`
|
|
|
+ EditAs string `xml:"editAs,attr,omitempty"`
|
|
|
+ From *decodeFrom `xml:"from"`
|
|
|
+ To *decodeTo `xml:"to"`
|
|
|
+ Sp *decodeSp `xml:"sp"`
|
|
|
+ ClientData *decodeClientData `xml:"clientData"`
|
|
|
+ Content string `xml:",innerxml"`
|
|
|
+}
|
|
|
+
|
|
|
+// xdrSp (Shape) directly maps the sp element. This element specifies the
|
|
|
+// existence of a single shape. A shape can either be a preset or a custom
|
|
|
+// geometry, defined using the SpreadsheetDrawingML framework. In addition to
|
|
|
+// a geometry each shape can have both visual and non-visual properties
|
|
|
+// attached. Text and corresponding styling information can also be attached
|
|
|
+// to a shape. This shape is specified along with all other shapes within
|
|
|
+// either the shape tree or group shape elements.
|
|
|
+type decodeSp struct {
|
|
|
+ NvSpPr *decodeNvSpPr `xml:"nvSpPr"`
|
|
|
+ SpPr *decodeSpPr `xml:"spPr"`
|
|
|
+}
|
|
|
+
|
|
|
+// decodeSp (Non-Visual Properties for a Shape) directly maps the nvSpPr
|
|
|
+// element. This element specifies all non-visual properties for a shape. This
|
|
|
+// element is a container for the non-visual identification properties, shape
|
|
|
+// properties and application properties that are to be associated with a
|
|
|
+// shape. This allows for additional information that does not affect the
|
|
|
+// appearance of the shape to be stored.
|
|
|
+type decodeNvSpPr struct {
|
|
|
+ CNvPr *decodeCNvPr `xml:"cNvPr"`
|
|
|
+ ExtLst *decodeExt `xml:"extLst"`
|
|
|
+ CNvSpPr *decodeCNvSpPr `xml:"cNvSpPr"`
|
|
|
+}
|
|
|
+
|
|
|
+// decodeCNvSpPr (Connection Non-Visual Shape Properties) directly maps the
|
|
|
+// cNvSpPr element. This element specifies the set of non-visual properties
|
|
|
+// for a connection shape. These properties specify all data about the
|
|
|
+// connection shape which do not affect its display within a spreadsheet.
|
|
|
+type decodeCNvSpPr struct {
|
|
|
+ TxBox bool `xml:"txBox,attr"`
|
|
|
}
|
|
|
|
|
|
// decodeWsDr directly maps the root element for a part of this content type
|
|
|
-// shall wsDr. In order to solve the problem that the label structure is changed
|
|
|
-// after serialization and deserialization, two different structures are
|
|
|
-// defined. decodeWsDr just for deserialization.
|
|
|
+// shall wsDr. In order to solve the problem that the label structure is
|
|
|
+// changed after serialization and deserialization, two different structures
|
|
|
+// are defined. decodeWsDr just for deserialization.
|
|
|
type decodeWsDr struct {
|
|
|
A string `xml:"xmlns a,attr"`
|
|
|
Xdr string `xml:"xmlns xdr,attr"`
|
|
|
@@ -34,9 +70,9 @@ type decodeWsDr struct {
|
|
|
}
|
|
|
|
|
|
// decodeTwoCellAnchor directly maps the oneCellAnchor (One Cell Anchor Shape
|
|
|
-// Size) and twoCellAnchor (Two Cell Anchor Shape Size). This element specifies
|
|
|
-// a two cell anchor placeholder for a group, a shape, or a drawing element. It
|
|
|
-// moves with cells and its extents are in EMU units.
|
|
|
+// Size) and twoCellAnchor (Two Cell Anchor Shape Size). This element
|
|
|
+// specifies a two cell anchor placeholder for a group, a shape, or a drawing
|
|
|
+// element. It moves with cells and its extents are in EMU units.
|
|
|
type decodeTwoCellAnchor struct {
|
|
|
From *decodeFrom `xml:"from"`
|
|
|
To *decodeTo `xml:"to"`
|
|
|
@@ -46,7 +82,8 @@ type decodeTwoCellAnchor struct {
|
|
|
|
|
|
// decodeCNvPr directly maps the cNvPr (Non-Visual Drawing Properties). This
|
|
|
// element specifies non-visual canvas properties. This allows for additional
|
|
|
-// information that does not affect the appearance of the picture to be stored.
|
|
|
+// information that does not affect the appearance of the picture to be
|
|
|
+// stored.
|
|
|
type decodeCNvPr struct {
|
|
|
ID int `xml:"id,attr"`
|
|
|
Name string `xml:"name,attr"`
|
|
|
@@ -55,8 +92,8 @@ type decodeCNvPr struct {
|
|
|
}
|
|
|
|
|
|
// decodePicLocks directly maps the picLocks (Picture Locks). This element
|
|
|
-// specifies all locking properties for a graphic frame. These properties inform
|
|
|
-// the generating application about specific properties that have been
|
|
|
+// specifies all locking properties for a graphic frame. These properties
|
|
|
+// inform the generating application about specific properties that have been
|
|
|
// previously locked and thus should not be changed.
|
|
|
type decodePicLocks struct {
|
|
|
NoAdjustHandles bool `xml:"noAdjustHandles,attr,omitempty"`
|
|
|
@@ -82,9 +119,9 @@ type decodeBlip struct {
|
|
|
R string `xml:"r,attr"`
|
|
|
}
|
|
|
|
|
|
-// decodeStretch directly maps the stretch element. This element specifies that
|
|
|
-// a BLIP should be stretched to fill the target rectangle. The other option is
|
|
|
-// a tile where a BLIP is tiled to fill the available area.
|
|
|
+// decodeStretch directly maps the stretch element. This element specifies
|
|
|
+// that a BLIP should be stretched to fill the target rectangle. The other
|
|
|
+// option is a tile where a BLIP is tiled to fill the available area.
|
|
|
type decodeStretch struct {
|
|
|
FillRect string `xml:"fillRect"`
|
|
|
}
|
|
|
@@ -128,12 +165,12 @@ type decodeCNvPicPr struct {
|
|
|
PicLocks decodePicLocks `xml:"picLocks"`
|
|
|
}
|
|
|
|
|
|
-// directly maps the nvPicPr (Non-Visual Properties for a Picture). This element
|
|
|
-// specifies all non-visual properties for a picture. This element is a
|
|
|
-// container for the non-visual identification properties, shape properties and
|
|
|
-// application properties that are to be associated with a picture. This allows
|
|
|
-// for additional information that does not affect the appearance of the picture
|
|
|
-// to be stored.
|
|
|
+// directly maps the nvPicPr (Non-Visual Properties for a Picture). This
|
|
|
+// element specifies all non-visual properties for a picture. This element is
|
|
|
+// a container for the non-visual identification properties, shape properties
|
|
|
+// and application properties that are to be associated with a picture. This
|
|
|
+// allows for additional information that does not affect the appearance of
|
|
|
+// the picture to be stored.
|
|
|
type decodeNvPicPr struct {
|
|
|
CNvPr decodeCNvPr `xml:"cNvPr"`
|
|
|
CNvPicPr decodeCNvPicPr `xml:"cNvPicPr"`
|
|
|
@@ -148,20 +185,20 @@ type decodeBlipFill struct {
|
|
|
Stretch decodeStretch `xml:"stretch"`
|
|
|
}
|
|
|
|
|
|
-// decodeSpPr directly maps the spPr (Shape Properties). This element specifies
|
|
|
-// the visual shape properties that can be applied to a picture. These are the
|
|
|
-// same properties that are allowed to describe the visual properties of a shape
|
|
|
-// but are used here to describe the visual appearance of a picture within a
|
|
|
-// document.
|
|
|
+// decodeSpPr directly maps the spPr (Shape Properties). This element
|
|
|
+// specifies the visual shape properties that can be applied to a picture.
|
|
|
+// These are the same properties that are allowed to describe the visual
|
|
|
+// properties of a shape but are used here to describe the visual appearance
|
|
|
+// of a picture within a document.
|
|
|
type decodeSpPr struct {
|
|
|
- Xfrm decodeXfrm `xml:"a:xfrm"`
|
|
|
- PrstGeom decodePrstGeom `xml:"a:prstGeom"`
|
|
|
+ Xfrm decodeXfrm `xml:"xfrm"`
|
|
|
+ PrstGeom decodePrstGeom `xml:"prstGeom"`
|
|
|
}
|
|
|
|
|
|
-// decodePic elements encompass the definition of pictures within the DrawingML
|
|
|
-// framework. While pictures are in many ways very similar to shapes they have
|
|
|
-// specific properties that are unique in order to optimize for picture-
|
|
|
-// specific scenarios.
|
|
|
+// decodePic elements encompass the definition of pictures within the
|
|
|
+// DrawingML framework. While pictures are in many ways very similar to shapes
|
|
|
+// they have specific properties that are unique in order to optimize for
|
|
|
+// picture- specific scenarios.
|
|
|
type decodePic struct {
|
|
|
NvPicPr decodeNvPicPr `xml:"nvPicPr"`
|
|
|
BlipFill decodeBlipFill `xml:"blipFill"`
|
|
|
@@ -184,8 +221,8 @@ type decodeTo struct {
|
|
|
RowOff int `xml:"rowOff"`
|
|
|
}
|
|
|
|
|
|
-// decodeClientData directly maps the clientData element. An empty element which
|
|
|
-// specifies (via attributes) certain properties related to printing and
|
|
|
+// decodeClientData directly maps the clientData element. An empty element
|
|
|
+// which specifies (via attributes) certain properties related to printing and
|
|
|
// selection of the drawing object. The fLocksWithSheet attribute (either true
|
|
|
// or false) determines whether to disable selection when the sheet is
|
|
|
// protected, and fPrintsWithSheet attribute (either true or false) determines
|