Skip to content

Commit 143d1eb

Browse files
committed
wip
1 parent fae5f9a commit 143d1eb

File tree

4 files changed

+279
-340
lines changed

4 files changed

+279
-340
lines changed

pub/xlsx/src/Codec/Xlsx/Types/PageSetup.hs

Lines changed: 97 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
{-# LANGUAGE DeriveGeneric #-}
33
{-# LANGUAGE OverloadedStrings #-}
44
{-# LANGUAGE RecordWildCards #-}
5-
{-# LANGUAGE TemplateHaskell #-}
65

76
module Codec.Xlsx.Types.PageSetup
87
( -- * Main types
@@ -14,29 +13,6 @@ module Codec.Xlsx.Types.PageSetup
1413
Orientation (..),
1514
PageOrder (..),
1615
PaperSize (..),
17-
18-
-- * Lenses
19-
20-
-- ** PageSetup
21-
pageSetupBlackAndWhite,
22-
pageSetupCellComments,
23-
pageSetupCopies,
24-
pageSetupDraft,
25-
pageSetupErrors,
26-
pageSetupFirstPageNumber,
27-
pageSetupFitToHeight,
28-
pageSetupFitToWidth,
29-
pageSetupHorizontalDpi,
30-
pageSetupId,
31-
pageSetupOrientation,
32-
pageSetupPageOrder,
33-
pageSetupPaperHeight,
34-
pageSetupPaperSize,
35-
pageSetupPaperWidth,
36-
pageSetupScale,
37-
pageSetupUseFirstPageNumber,
38-
pageSetupUsePrinterDefaults,
39-
pageSetupVerticalDpi,
4016
)
4117
where
4218

@@ -61,71 +37,71 @@ import Text.XML
6137

6238
data PageSetup = PageSetup
6339
{ -- | Print black and white.
64-
_pageSetupBlackAndWhite :: Maybe Bool,
40+
pageSetupBlackAndWhite :: Maybe Bool,
6541
-- | This attribute specifies how to print cell comments.
66-
_pageSetupCellComments :: Maybe CellComments,
42+
pageSetupCellComments :: Maybe CellComments,
6743
-- | Number of copies to print.
68-
_pageSetupCopies :: Maybe Int,
44+
pageSetupCopies :: Maybe Int,
6945
-- | Print without graphics.
70-
_pageSetupDraft :: Maybe Bool,
46+
pageSetupDraft :: Maybe Bool,
7147
-- | Specifies how to print cell values for cells with errors.
72-
_pageSetupErrors :: Maybe PrintErrors,
48+
pageSetupErrors :: Maybe PrintErrors,
7349
-- | Page number for first printed page. If no value is specified, then
7450
-- 'automatic' is assumed.
75-
_pageSetupFirstPageNumber :: Maybe Int,
51+
pageSetupFirstPageNumber :: Maybe Int,
7652
-- | Number of vertical pages to fit on.
77-
_pageSetupFitToHeight :: Maybe Int,
53+
pageSetupFitToHeight :: Maybe Int,
7854
-- | Number of horizontal pages to fit on.
79-
_pageSetupFitToWidth :: Maybe Int,
55+
pageSetupFitToWidth :: Maybe Int,
8056
-- | Horizontal print resolution of the device.
81-
_pageSetupHorizontalDpi :: Maybe Int,
57+
pageSetupHorizontalDpi :: Maybe Int,
8258
-- | Relationship Id of the devMode printer settings part.
8359
--
8460
-- (Explicit reference to a parent XML element.)
8561
--
8662
-- See 22.8.2.1 "ST_RelationshipId (Explicit Relationship ID)" (p. 3784)
87-
_pageSetupId :: Maybe Text,
63+
pageSetupId :: Maybe Text,
8864
-- | Orientation of the page.
89-
_pageSetupOrientation :: Maybe Orientation,
65+
pageSetupOrientation :: Maybe Orientation,
9066
-- | Order of printed pages
91-
_pageSetupPageOrder :: Maybe PageOrder,
67+
pageSetupPageOrder :: Maybe PageOrder,
9268
-- | Height of custom paper as a number followed by a unit identifier.
9369
--
9470
-- When paperHeight and paperWidth are specified, paperSize shall be ignored.
9571
-- Examples: @"297mm"@, @"11in"@.
9672
--
9773
-- See 22.9.2.12 "ST_PositiveUniversalMeasure (Positive Universal Measurement)" (p. 3792)
98-
_pageSetupPaperHeight :: Maybe Text,
74+
pageSetupPaperHeight :: Maybe Text,
9975
-- | Pager size
10076
--
10177
-- When paperHeight, paperWidth, and paperUnits are specified, paperSize
10278
-- should be ignored.
103-
_pageSetupPaperSize :: Maybe PaperSize,
79+
pageSetupPaperSize :: Maybe PaperSize,
10480
-- | Width of custom paper as a number followed by a unit identifier
10581
--
10682
-- Examples: @21cm@, @8.5in@
10783
--
10884
-- When paperHeight and paperWidth are specified, paperSize shall be
10985
-- ignored.
110-
_pageSetupPaperWidth :: Maybe Text,
86+
pageSetupPaperWidth :: Maybe Text,
11187
-- | Print scaling.
11288
--
11389
-- This attribute is restricted to values ranging from 10 to 400.
11490
-- This setting is overridden when fitToWidth and/or fitToHeight are in
11591
-- use.
116-
_pageSetupScale :: Maybe Int,
117-
-- | Use '_pageSetupFirstPageNumber' value for first page number, and do
92+
pageSetupScale :: Maybe Int,
93+
-- | Use 'pageSetupFirstPageNumber' value for first page number, and do
11894
-- not auto number the pages.
119-
_pageSetupUseFirstPageNumber :: Maybe Bool,
120-
-- | Use the printers defaults settings for page setup values and don't
95+
pageSetupUseFirstPageNumber :: Maybe Bool,
96+
-- | Use the printer's defaults settings for page setup values and don't
12197
-- use the default values specified in the schema.
12298
--
12399
-- Example: If dpi is not present or specified in the XML, the application
124100
-- must not assume 600dpi as specified in the schema as a default and
125101
-- instead must let the printer specify the default dpi.
126-
_pageSetupUsePrinterDefaults :: Maybe Bool,
102+
pageSetupUsePrinterDefaults :: Maybe Bool,
127103
-- | Vertical print resolution of the device.
128-
_pageSetupVerticalDpi :: Maybe Int
104+
pageSetupVerticalDpi :: Maybe Int
129105
}
130106
deriving (Eq, Ord, Show, Generic)
131107

@@ -333,33 +309,27 @@ instance NFData PaperSize
333309
instance Default PageSetup where
334310
def =
335311
PageSetup
336-
{ _pageSetupBlackAndWhite = Nothing,
337-
_pageSetupCellComments = Nothing,
338-
_pageSetupCopies = Nothing,
339-
_pageSetupDraft = Nothing,
340-
_pageSetupErrors = Nothing,
341-
_pageSetupFirstPageNumber = Nothing,
342-
_pageSetupFitToHeight = Nothing,
343-
_pageSetupFitToWidth = Nothing,
344-
_pageSetupHorizontalDpi = Nothing,
345-
_pageSetupId = Nothing,
346-
_pageSetupOrientation = Nothing,
347-
_pageSetupPageOrder = Nothing,
348-
_pageSetupPaperHeight = Nothing,
349-
_pageSetupPaperSize = Nothing,
350-
_pageSetupPaperWidth = Nothing,
351-
_pageSetupScale = Nothing,
352-
_pageSetupUseFirstPageNumber = Nothing,
353-
_pageSetupUsePrinterDefaults = Nothing,
354-
_pageSetupVerticalDpi = Nothing
312+
{ pageSetupBlackAndWhite = Nothing,
313+
pageSetupCellComments = Nothing,
314+
pageSetupCopies = Nothing,
315+
pageSetupDraft = Nothing,
316+
pageSetupErrors = Nothing,
317+
pageSetupFirstPageNumber = Nothing,
318+
pageSetupFitToHeight = Nothing,
319+
pageSetupFitToWidth = Nothing,
320+
pageSetupHorizontalDpi = Nothing,
321+
pageSetupId = Nothing,
322+
pageSetupOrientation = Nothing,
323+
pageSetupPageOrder = Nothing,
324+
pageSetupPaperHeight = Nothing,
325+
pageSetupPaperSize = Nothing,
326+
pageSetupPaperWidth = Nothing,
327+
pageSetupScale = Nothing,
328+
pageSetupUseFirstPageNumber = Nothing,
329+
pageSetupUsePrinterDefaults = Nothing,
330+
pageSetupVerticalDpi = Nothing
355331
}
356332

357-
{-------------------------------------------------------------------------------
358-
Lenses
359-
-------------------------------------------------------------------------------}
360-
361-
makeLenses ''PageSetup
362-
363333
{-------------------------------------------------------------------------------
364334
Rendering
365335
-------------------------------------------------------------------------------}
@@ -372,25 +342,25 @@ instance ToElement PageSetup where
372342
elementNodes = [],
373343
elementAttributes =
374344
Map.fromList . catMaybes $
375-
[ "paperSize" .=? _pageSetupPaperSize,
376-
"paperHeight" .=? _pageSetupPaperHeight,
377-
"paperWidth" .=? _pageSetupPaperWidth,
378-
"scale" .=? _pageSetupScale,
379-
"firstPageNumber" .=? _pageSetupFirstPageNumber,
380-
"fitToWidth" .=? _pageSetupFitToWidth,
381-
"fitToHeight" .=? _pageSetupFitToHeight,
382-
"pageOrder" .=? _pageSetupPageOrder,
383-
"orientation" .=? _pageSetupOrientation,
384-
"usePrinterDefaults" .=? _pageSetupUsePrinterDefaults,
385-
"blackAndWhite" .=? _pageSetupBlackAndWhite,
386-
"draft" .=? _pageSetupDraft,
387-
"cellComments" .=? _pageSetupCellComments,
388-
"useFirstPageNumber" .=? _pageSetupUseFirstPageNumber,
389-
"errors" .=? _pageSetupErrors,
390-
"horizontalDpi" .=? _pageSetupHorizontalDpi,
391-
"verticalDpi" .=? _pageSetupVerticalDpi,
392-
"copies" .=? _pageSetupCopies,
393-
"id" .=? _pageSetupId
345+
[ "paperSize" .=? pageSetupPaperSize,
346+
"paperHeight" .=? pageSetupPaperHeight,
347+
"paperWidth" .=? pageSetupPaperWidth,
348+
"scale" .=? pageSetupScale,
349+
"firstPageNumber" .=? pageSetupFirstPageNumber,
350+
"fitToWidth" .=? pageSetupFitToWidth,
351+
"fitToHeight" .=? pageSetupFitToHeight,
352+
"pageOrder" .=? pageSetupPageOrder,
353+
"orientation" .=? pageSetupOrientation,
354+
"usePrinterDefaults" .=? pageSetupUsePrinterDefaults,
355+
"blackAndWhite" .=? pageSetupBlackAndWhite,
356+
"draft" .=? pageSetupDraft,
357+
"cellComments" .=? pageSetupCellComments,
358+
"useFirstPageNumber" .=? pageSetupUseFirstPageNumber,
359+
"errors" .=? pageSetupErrors,
360+
"horizontalDpi" .=? pageSetupHorizontalDpi,
361+
"verticalDpi" .=? pageSetupVerticalDpi,
362+
"copies" .=? pageSetupCopies,
363+
"id" .=? pageSetupId
394364
]
395365
}
396366

@@ -494,49 +464,49 @@ instance ToAttrVal PaperSize where
494464
-- | See @CT_PageSetup@, p. 3922
495465
instance FromCursor PageSetup where
496466
fromCursor cur = do
497-
_pageSetupPaperSize <- maybeAttribute "paperSize" cur
498-
_pageSetupPaperHeight <- maybeAttribute "paperHeight" cur
499-
_pageSetupPaperWidth <- maybeAttribute "paperWidth" cur
500-
_pageSetupScale <- maybeAttribute "scale" cur
501-
_pageSetupFirstPageNumber <- maybeAttribute "firstPageNumber" cur
502-
_pageSetupFitToWidth <- maybeAttribute "fitToWidth" cur
503-
_pageSetupFitToHeight <- maybeAttribute "fitToHeight" cur
504-
_pageSetupPageOrder <- maybeAttribute "pageOrder" cur
505-
_pageSetupOrientation <- maybeAttribute "orientation" cur
506-
_pageSetupUsePrinterDefaults <- maybeAttribute "usePrinterDefaults" cur
507-
_pageSetupBlackAndWhite <- maybeAttribute "blackAndWhite" cur
508-
_pageSetupDraft <- maybeAttribute "draft" cur
509-
_pageSetupCellComments <- maybeAttribute "cellComments" cur
510-
_pageSetupUseFirstPageNumber <- maybeAttribute "useFirstPageNumber" cur
511-
_pageSetupErrors <- maybeAttribute "errors" cur
512-
_pageSetupHorizontalDpi <- maybeAttribute "horizontalDpi" cur
513-
_pageSetupVerticalDpi <- maybeAttribute "verticalDpi" cur
514-
_pageSetupCopies <- maybeAttribute "copies" cur
515-
_pageSetupId <- maybeAttribute "id" cur
467+
pageSetupPaperSize <- maybeAttribute "paperSize" cur
468+
pageSetupPaperHeight <- maybeAttribute "paperHeight" cur
469+
pageSetupPaperWidth <- maybeAttribute "paperWidth" cur
470+
pageSetupScale <- maybeAttribute "scale" cur
471+
pageSetupFirstPageNumber <- maybeAttribute "firstPageNumber" cur
472+
pageSetupFitToWidth <- maybeAttribute "fitToWidth" cur
473+
pageSetupFitToHeight <- maybeAttribute "fitToHeight" cur
474+
pageSetupPageOrder <- maybeAttribute "pageOrder" cur
475+
pageSetupOrientation <- maybeAttribute "orientation" cur
476+
pageSetupUsePrinterDefaults <- maybeAttribute "usePrinterDefaults" cur
477+
pageSetupBlackAndWhite <- maybeAttribute "blackAndWhite" cur
478+
pageSetupDraft <- maybeAttribute "draft" cur
479+
pageSetupCellComments <- maybeAttribute "cellComments" cur
480+
pageSetupUseFirstPageNumber <- maybeAttribute "useFirstPageNumber" cur
481+
pageSetupErrors <- maybeAttribute "errors" cur
482+
pageSetupHorizontalDpi <- maybeAttribute "horizontalDpi" cur
483+
pageSetupVerticalDpi <- maybeAttribute "verticalDpi" cur
484+
pageSetupCopies <- maybeAttribute "copies" cur
485+
pageSetupId <- maybeAttribute "id" cur
516486
return PageSetup {..}
517487

518488
instance FromXenoNode PageSetup where
519489
fromXenoNode root =
520490
parseAttributes root $ do
521-
_pageSetupPaperSize <- maybeAttr "paperSize"
522-
_pageSetupPaperHeight <- maybeAttr "paperHeight"
523-
_pageSetupPaperWidth <- maybeAttr "paperWidth"
524-
_pageSetupScale <- maybeAttr "scale"
525-
_pageSetupFirstPageNumber <- maybeAttr "firstPageNumber"
526-
_pageSetupFitToWidth <- maybeAttr "fitToWidth"
527-
_pageSetupFitToHeight <- maybeAttr "fitToHeight"
528-
_pageSetupPageOrder <- maybeAttr "pageOrder"
529-
_pageSetupOrientation <- maybeAttr "orientation"
530-
_pageSetupUsePrinterDefaults <- maybeAttr "usePrinterDefaults"
531-
_pageSetupBlackAndWhite <- maybeAttr "blackAndWhite"
532-
_pageSetupDraft <- maybeAttr "draft"
533-
_pageSetupCellComments <- maybeAttr "cellComments"
534-
_pageSetupUseFirstPageNumber <- maybeAttr "useFirstPageNumber"
535-
_pageSetupErrors <- maybeAttr "errors"
536-
_pageSetupHorizontalDpi <- maybeAttr "horizontalDpi"
537-
_pageSetupVerticalDpi <- maybeAttr "verticalDpi"
538-
_pageSetupCopies <- maybeAttr "copies"
539-
_pageSetupId <- maybeAttr "id"
491+
pageSetupPaperSize <- maybeAttr "paperSize"
492+
pageSetupPaperHeight <- maybeAttr "paperHeight"
493+
pageSetupPaperWidth <- maybeAttr "paperWidth"
494+
pageSetupScale <- maybeAttr "scale"
495+
pageSetupFirstPageNumber <- maybeAttr "firstPageNumber"
496+
pageSetupFitToWidth <- maybeAttr "fitToWidth"
497+
pageSetupFitToHeight <- maybeAttr "fitToHeight"
498+
pageSetupPageOrder <- maybeAttr "pageOrder"
499+
pageSetupOrientation <- maybeAttr "orientation"
500+
pageSetupUsePrinterDefaults <- maybeAttr "usePrinterDefaults"
501+
pageSetupBlackAndWhite <- maybeAttr "blackAndWhite"
502+
pageSetupDraft <- maybeAttr "draft"
503+
pageSetupCellComments <- maybeAttr "cellComments"
504+
pageSetupUseFirstPageNumber <- maybeAttr "useFirstPageNumber"
505+
pageSetupErrors <- maybeAttr "errors"
506+
pageSetupHorizontalDpi <- maybeAttr "horizontalDpi"
507+
pageSetupVerticalDpi <- maybeAttr "verticalDpi"
508+
pageSetupCopies <- maybeAttr "copies"
509+
pageSetupId <- maybeAttr "id"
540510
return PageSetup {..}
541511

542512
-- | See @paperSize@ (attribute of @pageSetup@), p. 1659

0 commit comments

Comments
 (0)