? Untitled1.CRASHED ? buflist ? bug.1360.diffs ? debugTrace ? foo.abw ? no-more-pagesize-units ? pagesize_uses ? test.abw ? src/wp/impexp/unix Index: src/af/util/xp/ut_units.cpp =================================================================== RCS file: /cvsroot/abi/src/af/util/xp/ut_units.cpp,v retrieving revision 1.40 diff -u -r1.40 ut_units.cpp --- src/af/util/xp/ut_units.cpp 2001/10/03 07:42:57 1.40 +++ src/af/util/xp/ut_units.cpp 2002/01/01 21:35:54 @@ -132,6 +132,12 @@ return valueScaled; } +double UT_convertDimensions(double f, UT_Dimension from, UT_Dimension to) +{ + double valueScaled = UT_convertDimToInches(f, from); + return UT_convertInchesToDimension(valueScaled, to); +} + const char * UT_convertInchesToDimensionString(UT_Dimension dim, double valueInInches, const char * szPrecision) { // return pointer to static buffer -- use it quickly. Index: src/af/util/xp/ut_units.h =================================================================== RCS file: /cvsroot/abi/src/af/util/xp/ut_units.h,v retrieving revision 1.28 diff -u -r1.28 ut_units.h --- src/af/util/xp/ut_units.h 2001/10/03 07:42:57 1.28 +++ src/af/util/xp/ut_units.h 2002/01/01 21:35:55 @@ -44,6 +44,7 @@ double UT_convertToInches(const char* s); double UT_convertDimToInches (double f, UT_Dimension dim); +double UT_convertDimensions(double f, UT_Dimension from, UT_Dimension to); double UT_convertToPoints(const char* s); double UT_convertToDimension(const char* s, UT_Dimension dim); UT_sint32 UT_convertToLayoutUnits(const char* s); Index: src/text/fmt/xp/fp_Page.cpp =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fp_Page.cpp,v retrieving revision 1.77 diff -u -r1.77 fp_Page.cpp --- src/text/fmt/xp/fp_Page.cpp 2001/12/30 18:36:06 1.77 +++ src/text/fmt/xp/fp_Page.cpp 2002/01/01 21:36:15 @@ -77,22 +77,22 @@ UT_sint32 fp_Page::getWidth(void) const { - return (UT_sint32)(m_iResolution * m_pageSize.Width(fp_PageSize::inch)); + return (UT_sint32)(m_iResolution * m_pageSize.Width(DIM_IN)); } UT_sint32 fp_Page::getWidthInLayoutUnits(void) const { - return (UT_sint32)m_pageSize.Width(fp_PageSize::LayoutUnit); + return (UT_sint32)UT_convertSizeToLayoutUnits(m_pageSize.Width(DIM_IN), DIM_IN); } UT_sint32 fp_Page::getHeight(void) const { - return (UT_sint32)(m_iResolution * m_pageSize.Height(fp_PageSize::inch)); + return (UT_sint32)(m_iResolution * m_pageSize.Height(DIM_IN)); } UT_sint32 fp_Page::getHeightInLayoutUnits(void) const { - return (UT_sint32)m_pageSize.Height(fp_PageSize::LayoutUnit); + return (UT_sint32)UT_convertSizeToLayoutUnits(m_pageSize.Height(DIM_IN), DIM_IN); } /*! Index: src/text/fmt/xp/fp_PageSize.cpp =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fp_PageSize.cpp,v retrieving revision 1.23 diff -u -r1.23 fp_PageSize.cpp --- src/text/fmt/xp/fp_PageSize.cpp 2001/12/30 18:36:06 1.23 +++ src/text/fmt/xp/fp_PageSize.cpp 2002/01/01 21:36:17 @@ -19,7 +19,7 @@ double w; // width double h; // height - fp_PageSize::Unit u; // unit for all these values + UT_Dimension u; // unit for all these values char name[cMaxSymbolicLength]; // symbolic name double l; // left margin @@ -37,110 +37,101 @@ pagesizes[fp_PageSize::_last_predefined_pagesize_dont_use_] = { // the A sizes - {1682.0, 2378.0, fp_PageSize::mm, "4A", + {1682.0, 2378.0, DIM_MM, "4A", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - {1189.0, 1682.0, fp_PageSize::mm, "2A", + {1189.0, 1682.0, DIM_MM, "2A", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 841.0, 1189.0, fp_PageSize::mm, "A0", + { 841.0, 1189.0, DIM_MM, "A0", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 594.0, 841.0, fp_PageSize::mm, "A1", + { 594.0, 841.0, DIM_MM, "A1", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 420.0, 594.0, fp_PageSize::mm, "A2", + { 420.0, 594.0, DIM_MM, "A2", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 297.0, 420.0, fp_PageSize::mm, "A3", 28.0, 28.0, 28.0, 28.0 }, - { 210.0, 297.0, fp_PageSize::mm, "A4", 28.0, 28.0, 28.0, 28.0 }, - { 148.0, 210.0, fp_PageSize::mm, "A5", 28.0, 28.0, 28.0, 28.0 }, - { 105.0, 148.0, fp_PageSize::mm, "A6", + { 297.0, 420.0, DIM_MM, "A3", 28.0, 28.0, 28.0, 28.0 }, + { 210.0, 297.0, DIM_MM, "A4", 28.0, 28.0, 28.0, 28.0 }, + { 148.0, 210.0, DIM_MM, "A5", 28.0, 28.0, 28.0, 28.0 }, + { 105.0, 148.0, DIM_MM, "A6", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 74.0, 105.0, fp_PageSize::mm, "A7", + { 74.0, 105.0, DIM_MM, "A7", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 52.0, 74.0, fp_PageSize::mm, "A8", + { 52.0, 74.0, DIM_MM, "A8", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 37.0, 52.0, fp_PageSize::mm, "A9", + { 37.0, 52.0, DIM_MM, "A9", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 26.0, 37.0, fp_PageSize::mm, "A10", + { 26.0, 37.0, DIM_MM, "A10", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, // the B sizes - {2000.0, 2828.0, fp_PageSize::mm, "4B", + {2000.0, 2828.0, DIM_MM, "4B", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - {1414.0, 2000.0, fp_PageSize::mm, "2B", + {1414.0, 2000.0, DIM_MM, "2B", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - {1000.0, 1414.0, fp_PageSize::mm, "B0", + {1000.0, 1414.0, DIM_MM, "B0", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 707.0, 1000.0, fp_PageSize::mm, "B1", + { 707.0, 1000.0, DIM_MM, "B1", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 500.0, 707.0, fp_PageSize::mm, "B2", + { 500.0, 707.0, DIM_MM, "B2", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 353.0, 500.0, fp_PageSize::mm, "B3", + { 353.0, 500.0, DIM_MM, "B3", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 250.0, 353.0, fp_PageSize::mm, "B4", 21.0, 21.0, 21.0, 21.0 }, - { 176.0, 250.0, fp_PageSize::mm, "B5", 28.0, 28.0, 28.0, 28.0 }, - { 125.0, 176.0, fp_PageSize::mm, "B6", + { 250.0, 353.0, DIM_MM, "B4", 21.0, 21.0, 21.0, 21.0 }, + { 176.0, 250.0, DIM_MM, "B5", 28.0, 28.0, 28.0, 28.0 }, + { 125.0, 176.0, DIM_MM, "B6", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 88.0, 125.0, fp_PageSize::mm, "B7", + { 88.0, 125.0, DIM_MM, "B7", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 62.0, 88.0, fp_PageSize::mm, "B8", + { 62.0, 88.0, DIM_MM, "B8", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 44.0, 62.0, fp_PageSize::mm, "B9", + { 44.0, 62.0, DIM_MM, "B9", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 31.0, 44.0, fp_PageSize::mm, "B10", + { 31.0, 44.0, DIM_MM, "B10", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, // the C sizes - { 917.0, 1297.0, fp_PageSize::mm, "C0", + { 917.0, 1297.0, DIM_MM, "C0", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 648.0, 917.0, fp_PageSize::mm, "C1", + { 648.0, 917.0, DIM_MM, "C1", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 458.0, 648.0, fp_PageSize::mm, "C2", + { 458.0, 648.0, DIM_MM, "C2", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 324.0, 458.0, fp_PageSize::mm, "C3", + { 324.0, 458.0, DIM_MM, "C3", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 229.0, 324.0, fp_PageSize::mm, "C4", + { 229.0, 324.0, DIM_MM, "C4", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, // FIXME: C5 is dealt with below, under envelopes // FIXME: should prolly have C6/C5 here too, for completeness - { 114.0, 162.0, fp_PageSize::mm, "C6", + { 114.0, 162.0, DIM_MM, "C6", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 81.0, 114.0, fp_PageSize::mm, "C7", + { 81.0, 114.0, DIM_MM, "C7", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 57.0, 81.0, fp_PageSize::mm, "C8", + { 57.0, 81.0, DIM_MM, "C8", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 40.0, 57.0, fp_PageSize::mm, "C9", + { 40.0, 57.0, DIM_MM, "C9", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, - { 28.0, 40.0, fp_PageSize::mm, "C10", + { 28.0, 40.0, DIM_MM, "C10", MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN, MARGIN_UNKNOWN }, // Japanese B sizes // FIXME: should prolly have the other Japanese sizes - { 182.0, 258.0, fp_PageSize::mm, "B5-Japan", 28.0, 28.0, 28.0, 28.0}, + { 182.0, 258.0, DIM_MM, "B5-Japan", 28.0, 28.0, 28.0, 28.0}, // the rest - { 8.5, 14.0, fp_PageSize::inch, "Legal", 1.0, 1.0, 1.0, 1.0 }, - { 8.5, 13.0, fp_PageSize::inch, "Folio", 1.0, 1.0, 1.0, 1.0 }, - { 8.5, 11.0, fp_PageSize::inch, "Letter", 1.0, 1.0, 1.0, 1.0 }, - { 8.5, 5.5, fp_PageSize::inch, "Half-Letter", 1.0, 1.0, 1.0, 1.0 }, - { 7.5, 10.0, fp_PageSize::inch, "Executive", 1.0, 1.0, 1.0, 1.0 }, - { 280.1, 267.0, fp_PageSize::mm, "Tabloid/Ledger", 25.4, 25.4, 25.4, 25.4}, - { 99.0, 191.0, fp_PageSize::mm, "Monarch", 3.5, 3.5, 3.5, 3.5}, - { 297.0, 433.0, fp_PageSize::mm, "SuperB", 28.2, 28.2, 28.2, 28.2}, - { 105.0, 242.0, fp_PageSize::mm, "Envelope-Commercial", 1.8, 1.8, 1.8, 1.8}, - { 99.0, 191.0, fp_PageSize::mm, "Envelope-Monarch", 1.8, 1.8, 1.8, 1.8}, - { 110.0, 220.0, fp_PageSize::mm, "Envelope-DL", 1.8, 1.8, 1.8, 1.8}, - { 162.0, 229.0, fp_PageSize::mm, "Envelope-C5", 1.8, 1.8, 1.8, 1.8}, - { 105.0, 148.0, fp_PageSize::mm, "EuroPostcard", 1.8, 1.8, 1.8, 1.8}, - { 0.0, 0.0, fp_PageSize::mm, "Custom", 0.0, 0.0, 0.0, 0.0} + { 8.5, 14.0, DIM_IN, "Legal", 1.0, 1.0, 1.0, 1.0 }, + { 8.5, 13.0, DIM_IN, "Folio", 1.0, 1.0, 1.0, 1.0 }, + { 8.5, 11.0, DIM_IN, "Letter", 1.0, 1.0, 1.0, 1.0 }, + { 8.5, 5.5, DIM_IN, "Half-Letter", 1.0, 1.0, 1.0, 1.0 }, + { 7.5, 10.0, DIM_IN, "Executive", 1.0, 1.0, 1.0, 1.0 }, + { 280.1, 267.0, DIM_MM, "Tabloid/Ledger", 25.4, 25.4, 25.4, 25.4}, + { 99.0, 191.0, DIM_MM, "Monarch", 3.5, 3.5, 3.5, 3.5}, + { 297.0, 433.0, DIM_MM, "SuperB", 28.2, 28.2, 28.2, 28.2}, + { 105.0, 242.0, DIM_MM, "Envelope-Commercial", 1.8, 1.8, 1.8, 1.8}, + { 99.0, 191.0, DIM_MM, "Envelope-Monarch", 1.8, 1.8, 1.8, 1.8}, + { 110.0, 220.0, DIM_MM, "Envelope-DL", 1.8, 1.8, 1.8, 1.8}, + { 162.0, 229.0, DIM_MM, "Envelope-C5", 1.8, 1.8, 1.8, 1.8}, + { 105.0, 148.0, DIM_MM, "EuroPostcard", 1.8, 1.8, 1.8, 1.8}, + { 0.0, 0.0, DIM_MM, "Custom", 0.0, 0.0, 0.0, 0.0} }; -const double ScaleFactors[fp_PageSize::_last_predefined_unit_dont_use_] = -{ - { 1.0 }, // mm - { 10.0 }, // cm - { 25.4 }, // inch - { 25.4 / UT_PAPER_UNITS_PER_INCH }, // PaperUnit - { 25.4 / UT_LAYOUT_UNITS } // LayoutUnit -}; - fp_PageSize::fp_PageSize(Predefined preDef) { m_bisPortrait = true; @@ -155,36 +146,35 @@ Set(name); } -fp_PageSize::fp_PageSize(double w, double h, Unit u) +fp_PageSize::fp_PageSize(double w, double h, UT_Dimension u) { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + m_bisPortrait = true; m_scale = 1.0; Set(w, h, u); } // all Set() calls ultimately go through this function -void fp_PageSize::Set(Predefined preDef, Unit u) +void fp_PageSize::Set(Predefined preDef, UT_Dimension u) { UT_ASSERT(preDef >= _first_predefined_pagesize_ && preDef < _last_predefined_pagesize_dont_use_); - UT_ASSERT(u >= _first_predefined_unit_ && u <= _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); const private_pagesize_sizes& size = pagesizes[preDef]; - if (u != _last_predefined_unit_dont_use_) + if (u != DIM_none) m_unit = u; else m_unit = size.u; - double sf = ScaleFactors[size.u]; - // Always scale to mm's, which we store. - m_iWidth = size.w * sf; - m_iHeight = size.h * sf; - m_iMarginTop = size.t * sf; - m_iMarginBottom = size.b * sf; - m_iMarginLeft = size.l * sf; - m_iMarginRight = size.r * sf; + m_iWidth = UT_convertDimensions(size.w, u, FUND); + m_iHeight = UT_convertDimensions(size.h, u, FUND); + m_iMarginTop = UT_convertDimensions(size.t, u, FUND); + m_iMarginBottom = UT_convertDimensions(size.b, u, FUND); + m_iMarginLeft = UT_convertDimensions(size.l, u, FUND); + m_iMarginRight = UT_convertDimensions(size.r, u, FUND); m_predefined = (char *)pagesizes [preDef].name; } @@ -192,12 +182,12 @@ /*! Set the pagesize to given width and height, assumed to be in given unit. */ -void fp_PageSize::Set(double w, double h, Unit u) +void fp_PageSize::Set(double w, double h, UT_Dimension u) { int i; double converted_w, converted_h; - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); // calculate which predefined this represents @@ -206,14 +196,10 @@ { if (pagesizes[i].u != u ) // Convert to local defined units and round off { - converted_w = w * ScaleFactors[u]/ScaleFactors[pagesizes[i].u]; - int w_int = (int) (converted_w*10.0); - if ( converted_w*10 - w_int >= 0.5 ) w_int++; - converted_w = (double) w_int/10.0; - converted_h = h * ScaleFactors[u]/ScaleFactors[pagesizes[i].u]; - int h_int = (int) (converted_h*10.0); - if ( converted_h*10 - h_int >= 0.5 ) h_int++; - converted_h = (double) h_int/10.0; + converted_w = UT_convertDimensions(w, pagesizes[i].u, u); + converted_w = ((int)(converted_w*10.0+0.5))/(double)10.0; + converted_h = UT_convertDimensions(h, pagesizes[i].u, u); + converted_w = ((int)(converted_h*10.0+0.5))/(double)10.0; } else { @@ -240,15 +226,13 @@ if ( i == (int)_last_predefined_pagesize_dont_use_ ) { Set (static_cast(i-1), u); - m_iWidth = w * ScaleFactors[u]; - m_iHeight = h * ScaleFactors[u]; + m_iWidth = UT_convertDimensions(w, u, FUND); + m_iHeight = UT_convertDimensions(h, u, FUND); } } -void fp_PageSize::Set(const char *name, Unit u) +void fp_PageSize::Set(const char *name, UT_Dimension u) { - UT_ASSERT(u >= _first_predefined_unit_ && u <= _last_predefined_unit_dont_use_); - Set(NameToPredefined(name), u); } @@ -262,58 +246,64 @@ m_bisPortrait = false; } -double fp_PageSize::Width(Unit u) const +double fp_PageSize::Width(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iWidth / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iWidth, FUND, u); else - return m_scale * m_iHeight / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iHeight, FUND, u); } -double fp_PageSize::Height(Unit u) const +double fp_PageSize::Height(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iHeight / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iHeight, FUND, u); else - return m_scale * m_iWidth / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iWidth, FUND, u); } -double fp_PageSize::MarginTop(Unit u) const +double fp_PageSize::MarginTop(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iMarginTop / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginTop, FUND, u); else - return m_scale * m_iMarginRight / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginRight, FUND, u); } -double fp_PageSize::MarginBottom(Unit u) const +double fp_PageSize::MarginBottom(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iMarginBottom / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginBottom, FUND, u); else - return m_scale * m_iMarginLeft / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginLeft, FUND, u); } -double fp_PageSize::MarginLeft(Unit u) const +double fp_PageSize::MarginLeft(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iMarginLeft / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginLeft, FUND, u); else - return m_scale * m_iMarginTop / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginTop, FUND, u); } -double fp_PageSize::MarginRight(Unit u) const +double fp_PageSize::MarginRight(UT_Dimension u) const { - UT_ASSERT(u >= _first_predefined_unit_ && u < _last_predefined_unit_dont_use_); + UT_ASSERT(u >= DIM_IN && u <= DIM_none); + if(m_bisPortrait == true) - return m_scale * m_iMarginRight / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginRight, FUND, u); else - return m_scale * m_iMarginBottom / ScaleFactors[u]; + return m_scale * UT_convertDimensions(m_iMarginBottom, FUND, u); } bool fp_PageSize::IsPredefinedName(const char* szPageSizeName) @@ -362,34 +352,4 @@ UT_ASSERT((preDef >= _first_predefined_pagesize_) && (preDef < _last_predefined_pagesize_dont_use_)); return pagesizes[preDef].name; -} - -UT_Dimension UT_pageSizeUnitToDimension(fp_PageSize::Unit u) -{ - switch (u) - { - case fp_PageSize::mm: - return DIM_MM; - case fp_PageSize::cm: - return DIM_CM; - case fp_PageSize::inch: - return DIM_IN; - } - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); - return DIM_MM; -} - -fp_PageSize::Unit UT_dimensionToPageSizeUnit(UT_Dimension u) -{ - switch(u) - { - case DIM_MM: - return fp_PageSize::mm; - case DIM_CM: - return fp_PageSize::cm; - case DIM_IN: - return fp_PageSize::inch; - } - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); - return fp_PageSize::mm; } Index: src/text/fmt/xp/fp_PageSize.h =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fp_PageSize.h,v retrieving revision 1.18 diff -u -r1.18 fp_PageSize.h --- src/text/fmt/xp/fp_PageSize.h 2001/12/30 18:36:06 1.18 +++ src/text/fmt/xp/fp_PageSize.h 2002/01/01 21:36:18 @@ -27,17 +27,6 @@ { public: - enum Unit - { - _first_predefined_unit_ = 0, - mm = 0, - cm, - inch, - PaperUnit, // 100 per inch - LayoutUnit, // 1440 per inch - _last_predefined_unit_dont_use_ - }; - enum Predefined { _first_predefined_pagesize_ = 0, @@ -65,29 +54,29 @@ fp_PageSize(Predefined preDef); fp_PageSize(const char *name); - fp_PageSize(double w, double h, Unit u); + fp_PageSize(double w, double h, UT_Dimension u); - void Set(Predefined preDef, Unit u = fp_PageSize::_last_predefined_unit_dont_use_); - void Set(const char *name, Unit u = fp_PageSize::_last_predefined_unit_dont_use_); - void Set(double w, double h, Unit u); - void Set(Unit u) {m_unit = u;} - inline void setScale( double scale) {m_scale = scale;} + void Set(Predefined preDef, UT_Dimension u = DIM_none); + void Set(const char *name, UT_Dimension u = DIM_none); + void Set(double w, double h, UT_Dimension u = DIM_none); + void Set(UT_Dimension u) { m_unit = u; } + inline void setScale( double scale) { m_scale = scale; } void setPortrait(void); void setLandscape(void); bool isPortrait(void) const { return m_bisPortrait; } - double Width(Unit u) const; - double Height(Unit u) const; + double Width(UT_Dimension u) const; + double Height(UT_Dimension u) const; /* These accessor methods should be used with the * predefined page sizes to set proper initial margins. */ /* I don't think this is done at present. */ - double MarginLeft(Unit u) const; - double MarginRight(Unit u) const; - double MarginTop(Unit u) const; - double MarginBottom(Unit u) const; + double MarginLeft(UT_Dimension u) const; + double MarginRight(UT_Dimension u) const; + double MarginTop(UT_Dimension u) const; + double MarginBottom(UT_Dimension u) const; - double getScale(void) {return m_scale;} - Unit getUnit(void) { return m_unit;} + double getScale(void) { return m_scale; } + UT_Dimension getDims(void) { return m_unit; } inline char * getPredefinedName (void) const { return m_predefined; } static bool IsPredefinedName(const char* szPageSizeName); @@ -95,6 +84,8 @@ static const char * PredefinedToName(Predefined preDef); private: + static const UT_Dimension FUND = DIM_MM; + char * m_predefined; double m_iWidth; @@ -107,10 +98,7 @@ bool m_bisPortrait; double m_scale; - Unit m_unit; + UT_Dimension m_unit; }; - -UT_Dimension UT_pageSizeUnitToDimension(fp_PageSize::Unit u); -fp_PageSize::Unit UT_dimensionToPageSizeUnit(UT_Dimension u); #endif // FP_PAGESIZE_H Index: src/text/fmt/xp/fv_View.cpp =================================================================== RCS file: /cvsroot/abi/src/text/fmt/xp/fv_View.cpp,v retrieving revision 1.560 diff -u -r1.560 fv_View.cpp --- src/text/fmt/xp/fv_View.cpp 2001/12/29 19:36:08 1.560 +++ src/text/fmt/xp/fv_View.cpp 2002/01/01 21:37:08 @@ -8073,7 +8073,7 @@ static char buf[20]; setlocale(LC_NUMERIC,"C"); - snprintf(buf, sizeof(buf), "%.4fin", m_pDoc->m_docPageSize.Width(fp_PageSize::inch)); + snprintf(buf, sizeof(buf), "%.4fin", m_pDoc->m_docPageSize.Width(DIM_IN)); setlocale(LC_NUMERIC,""); // restore original locale pInfo->m_xPaperSize = m_pG->convertDimension(buf); @@ -11084,7 +11084,7 @@ { const fp_PageSize pageSize = getPageSize(); - double pageWidth = pageSize.Width(fp_PageSize::inch); + double pageWidth = pageSize.Width(DIM_IN); // Set graphics zoom to 100 so we can get the display resolution. GR_Graphics *pG = getGraphics(); @@ -11106,7 +11106,7 @@ { const fp_PageSize pageSize = getPageSize(); - double pageHeight = pageSize.Height(fp_PageSize::inch); + double pageHeight = pageSize.Height(DIM_IN); // Set graphics zoom to 100 so we can get the display resolution. GR_Graphics *pG = getGraphics(); Index: src/text/ptbl/xp/pd_Document.cpp =================================================================== RCS file: /cvsroot/abi/src/text/ptbl/xp/pd_Document.cpp,v retrieving revision 1.158 diff -u -r1.158 pd_Document.cpp --- src/text/ptbl/xp/pd_Document.cpp 2001/12/28 17:32:25 1.158 +++ src/text/ptbl/xp/pd_Document.cpp 2002/01/01 21:37:23 @@ -2326,7 +2326,7 @@ double width=0.0; double height=0.0; double scale =1.0; - fp_PageSize::Unit u = fp_PageSize::inch; + UT_Dimension u = DIM_IN; for (const XML_Char ** a = attributes; (*a); a++) { @@ -2367,11 +2367,11 @@ height = UT_convertDimensionless(szHeight); scale = UT_convertDimensionless(szPageScale); if(UT_XML_stricmp(szUnits,"cm") == 0) - u = fp_PageSize::cm; + u = DIM_CM; else if(UT_XML_stricmp(szUnits,"mm") == 0) - u = fp_PageSize::mm; + u = DIM_MM; else if(UT_XML_stricmp(szUnits,"inch") == 0) - u = fp_PageSize::inch; + u = DIM_IN; if(UT_XML_stricmp(szPageSize,"Custom") == 0) { m_docPageSize.Set(width,height,u); Index: src/wp/ap/unix/ap_UnixDialog_PageSetup.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/unix/ap_UnixDialog_PageSetup.cpp,v retrieving revision 1.21 diff -u -r1.21 ap_UnixDialog_PageSetup.cpp --- src/wp/ap/unix/ap_UnixDialog_PageSetup.cpp 2001/12/27 19:20:41 1.21 +++ src/wp/ap/unix/ap_UnixDialog_PageSetup.cpp 2002/01/01 21:37:38 @@ -83,32 +83,6 @@ return bufResult; } -static UT_Dimension -fp_2_dim (fp_PageSize::Unit u) -{ - switch (u) - { - case fp_PageSize::cm : return DIM_CM; - case fp_PageSize::mm : return DIM_MM; - case fp_PageSize::inch : - default : - return DIM_IN; - } -} - -static int -fp_2_pos (fp_PageSize::Unit u) -{ - switch (u) - { - case fp_PageSize::cm : return 1; - case fp_PageSize::mm : return 2; - case fp_PageSize::inch : - default : - return 0; - } -} - #define FMT_STRING "%0.2f" static GtkWidget * create_spinentry (float v) @@ -126,9 +100,22 @@ return e; } +static int +fp_2_pos (UT_Dimension u) +{ + switch (u) + { + case DIM_CM : return 1; + case DIM_MM : return 2; + case DIM_IN : + default : + return 0; + } +} + /*********************************************************************************/ -static fp_PageSize::Unit last_margin_unit = fp_PageSize::inch; +static UT_Dimension last_margin_unit = DIM_IN; /*********************************************************************************/ @@ -153,8 +140,6 @@ (gpointer)this); \ } while (0) -#define CONVERT_DIMENSIONS(v, d1, d2) v = UT_convertInchesToDimension (UT_convertDimToInches (v, fp_2_dim (d1)), fp_2_dim (d2)) - /*********************************************************************************/ // static event callbacks @@ -294,7 +279,7 @@ { fp_PageSize fp = m_PageSize; - if(fp.Width(fp_PageSize::inch) < 1.0 || fp.Height(fp_PageSize::inch) < 1.0) + if(fp.Width(DIM_IN) < 1.0 || fp.Height(DIM_IN) < 1.0) { // "The margins selected are too large to fit on the page." // Not quite the right message, but it's pretty close, @@ -308,7 +293,7 @@ } setMarginUnits (last_margin_unit); - setPageUnits (fp.getUnit()); + setPageUnits (fp.getDims()); setPageSize (fp); setPageOrientation (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (m_radioPagePortrait)) ? PORTRAIT : LANDSCAPE); setPageScale (gtk_spin_button_get_value_as_int (GTK_SPIN_BUTTON (m_spinPageScale))); @@ -348,7 +333,7 @@ void AP_UnixDialog_PageSetup::event_PageUnitsChanged (void) { - fp_PageSize::Unit pu = (fp_PageSize::Unit) GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (m_optionPageUnits), + UT_Dimension pu = (UT_Dimension) GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (m_optionPageUnits), WIDGET_MENU_VALUE_TAG)); double width, height; @@ -379,19 +364,16 @@ fp_PageSize ps(pd); // hmm, we should free the old pagesize. m_PageSize = ps; - setPageUnits(ps.getUnit()); + setPageUnits(ps.getDims()); // change the units in the dialog, too. - fp_PageSize::Unit new_units = ps.getUnit(); + UT_Dimension new_units = ps.getDims(); gtk_option_menu_set_history (GTK_OPTION_MENU (m_optionPageUnits), fp_2_pos (new_units)); float w, h; - - w = ps.Width (fp_PageSize::inch); - h = ps.Height (fp_PageSize::inch); - CONVERT_DIMENSIONS (w, fp_PageSize::inch, new_units); - CONVERT_DIMENSIONS (h, fp_PageSize::inch, new_units); + w = ps.Width (new_units); + h = ps.Height (new_units); if (fp_PageSize::Custom != pd) { @@ -412,7 +394,7 @@ { ps.Set(atof(gtk_entry_get_text(GTK_ENTRY(m_entryPageWidth))), atof(gtk_entry_get_text(GTK_ENTRY(m_entryPageHeight))), - (fp_PageSize::Unit) GPOINTER_TO_INT (gtk_object_get_data + (UT_Dimension) GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (m_optionPageUnits), WIDGET_MENU_VALUE_TAG))); } @@ -420,7 +402,7 @@ void AP_UnixDialog_PageSetup::event_MarginUnitsChanged (void) { - fp_PageSize::Unit mu = (fp_PageSize::Unit) GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (m_optionMarginUnits), + UT_Dimension mu = (UT_Dimension) GPOINTER_TO_INT (gtk_object_get_data (GTK_OBJECT (m_optionMarginUnits), WIDGET_MENU_VALUE_TAG)); float top, bottom, left, right, header, footer; @@ -432,12 +414,12 @@ header = gtk_spin_button_get_value_as_float (GTK_SPIN_BUTTON (m_spinMarginHeader)); footer = gtk_spin_button_get_value_as_float (GTK_SPIN_BUTTON (m_spinMarginFooter)); - CONVERT_DIMENSIONS (top, last_margin_unit, mu); - CONVERT_DIMENSIONS (bottom, last_margin_unit, mu); - CONVERT_DIMENSIONS (left, last_margin_unit, mu); - CONVERT_DIMENSIONS (right, last_margin_unit, mu); - CONVERT_DIMENSIONS (header, last_margin_unit, mu); - CONVERT_DIMENSIONS (footer, last_margin_unit, mu); + top = UT_convertDimensions (top, last_margin_unit, mu); + bottom = UT_convertDimensions (bottom, last_margin_unit, mu); + left = UT_convertDimensions (left, last_margin_unit, mu); + right = UT_convertDimensions (right, last_margin_unit, mu); + header = UT_convertDimensions (header, last_margin_unit, mu); + footer = UT_convertDimensions (footer, last_margin_unit, mu); last_margin_unit = mu; @@ -719,17 +701,17 @@ optionPageUnits_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_inch)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, fp_PageSize::inch, s_page_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, DIM_IN, s_page_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionPageUnits_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_cm)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, fp_PageSize::cm, s_page_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, DIM_CM, s_page_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionPageUnits_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_mm)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, fp_PageSize::mm, s_page_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionPageUnits, DIM_MM, s_page_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionPageUnits_menu), glade_menuitem); @@ -929,17 +911,17 @@ optionMarginUnits_menu = gtk_menu_new (); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_inch)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, fp_PageSize::inch, s_margin_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, DIM_IN, s_margin_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionMarginUnits_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_cm)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, fp_PageSize::cm, s_margin_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, DIM_CM, s_margin_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionMarginUnits_menu), glade_menuitem); glade_menuitem = gtk_menu_item_new_with_label (_(XAP, DLG_Unit_mm)); - CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, fp_PageSize::mm, s_margin_units_changed); + CONNECT_MENU_ITEM_SIGNAL_ACTIVATE (glade_menuitem, optionMarginUnits, DIM_MM, s_margin_units_changed); gtk_widget_show (glade_menuitem); gtk_menu_append (GTK_MENU (optionMarginUnits_menu), glade_menuitem); Index: src/wp/ap/xp/ap_Dialog_Columns.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Dialog_Columns.cpp,v retrieving revision 1.10 diff -u -r1.10 ap_Dialog_Columns.cpp --- src/wp/ap/xp/ap_Dialog_Columns.cpp 2001/10/17 02:21:34 1.10 +++ src/wp/ap/xp/ap_Dialog_Columns.cpp 2002/01/01 21:37:48 @@ -205,7 +205,7 @@ double width = 1.0; if(m_pDoc) { - width = m_pDoc->m_docPageSize.Width(fp_PageSize::inch) - m_dMarginLeft - m_dMarginRight; + width = m_pDoc->m_docPageSize.Width(DIM_IN) - m_dMarginLeft - m_dMarginRight; } return width; } @@ -220,7 +220,7 @@ double height = 1.0; if(m_pDoc) { - height = m_pDoc->m_docPageSize.Height(fp_PageSize::inch) - m_dMarginTop - m_dMarginBottom; + height = m_pDoc->m_docPageSize.Height(DIM_IN) - m_dMarginTop - m_dMarginBottom; } return height; } Index: src/wp/ap/xp/ap_Dialog_PageSetup.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Dialog_PageSetup.cpp,v retrieving revision 1.6 diff -u -r1.6 ap_Dialog_PageSetup.cpp --- src/wp/ap/xp/ap_Dialog_PageSetup.cpp 2001/12/30 18:36:06 1.6 +++ src/wp/ap/xp/ap_Dialog_PageSetup.cpp 2002/01/01 21:37:49 @@ -28,10 +28,10 @@ : XAP_Dialog_NonPersistent(pDlgFactory,id), m_answer(a_OK), m_PageSize(fp_PageSize::Letter), // isn't this leaked when setPageSize called? - m_PageUnits(fp_PageSize::inch), + m_PageUnits(DIM_IN), m_PageOrientation(PORTRAIT), m_PageScale(100), - m_MarginUnits(fp_PageSize::inch), + m_MarginUnits(DIM_IN), m_MarginTop(1.0f), m_MarginBottom(1.0f), m_MarginLeft(1.0f), @@ -51,7 +51,7 @@ { // Require at least 0.3in for headers and footers. - double fudge = UT_convertInchesToDimension(0.3, UT_pageSizeUnitToDimension(m_MarginUnits)); + double fudge = UT_convertInchesToDimension(0.3, m_MarginUnits); if ( (m_MarginLeft + m_MarginRight >= m_PageSize.Width(m_PageUnits)) || (m_MarginTop + m_MarginBottom >= m_PageSize.Height(m_PageUnits)) || Index: src/wp/ap/xp/ap_Dialog_PageSetup.h =================================================================== RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Dialog_PageSetup.h,v retrieving revision 1.4 diff -u -r1.4 ap_Dialog_PageSetup.h --- src/wp/ap/xp/ap_Dialog_PageSetup.h 2001/12/03 05:14:34 1.4 +++ src/wp/ap/xp/ap_Dialog_PageSetup.h 2002/01/01 21:37:50 @@ -41,10 +41,10 @@ #define SET_GATHER(a, u) inline u get##a(void) const {return m_##a;} \ inline void set##a(u p##a) {m_##a = p##a;} SET_GATHER(PageSize, fp_PageSize); - SET_GATHER(PageUnits, fp_PageSize::Unit); + SET_GATHER(PageUnits, UT_Dimension); SET_GATHER(PageOrientation, Orientation); SET_GATHER(PageScale, int); - SET_GATHER(MarginUnits, fp_PageSize::Unit); + SET_GATHER(MarginUnits, UT_Dimension); SET_GATHER(MarginTop, float); SET_GATHER(MarginBottom, float); SET_GATHER(MarginLeft, float); @@ -65,10 +65,10 @@ AP_Dialog_PageSetup::tAnswer m_answer; fp_PageSize m_PageSize; - fp_PageSize::Unit m_PageUnits; + UT_Dimension m_PageUnits; Orientation m_PageOrientation; int m_PageScale; - fp_PageSize::Unit m_MarginUnits; + UT_Dimension m_MarginUnits; float m_MarginTop; float m_MarginBottom; float m_MarginLeft; Index: src/wp/ap/xp/ap_EditMethods.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/xp/ap_EditMethods.cpp,v retrieving revision 1.422 diff -u -r1.422 ap_EditMethods.cpp --- src/wp/ap/xp/ap_EditMethods.cpp 2001/12/25 08:11:23 1.422 +++ src/wp/ap/xp/ap_EditMethods.cpp 2002/01/01 21:38:52 @@ -5375,19 +5375,6 @@ return bOK; } -static UT_Dimension -fp_2_dim (fp_PageSize::Unit u) -{ - switch (u) - { - case fp_PageSize::cm : return DIM_CM; - case fp_PageSize::mm : return DIM_MM; - case fp_PageSize::inch : - default : - return DIM_IN; - } -} - static bool s_doPageSetupDlg (FV_View * pView) { XAP_Frame * pFrame = static_cast ( pView->getParentData()); @@ -5413,7 +5400,7 @@ // fp_PageSize::Predefined orig_def,final_def; double orig_wid = -1, orig_ht = -1, final_wid = -1, final_ht = -1; - fp_PageSize::Unit orig_ut, final_ut; + UT_Dimension orig_ut, final_ut; fp_PageSize pSize(pDoc->m_docPageSize.getPredefinedName()); orig_def = pSize.NameToPredefined(pSize.getPredefinedName()); // @@ -5421,7 +5408,7 @@ // if (orig_def == fp_PageSize::Custom) { - orig_ut = pDoc->m_docPageSize.getUnit(); + orig_ut = pDoc->m_docPageSize.getDims(); orig_ht = pDoc->m_docPageSize.Width(orig_ut); orig_wid = pDoc->m_docPageSize.Height(orig_ut); pSize.Set(orig_ht, orig_wid, orig_ut); @@ -5432,9 +5419,9 @@ if(pDoc->m_docPageSize.isPortrait() == false) orig_ori = AP_Dialog_PageSetup::LANDSCAPE; pDialog->setPageOrientation(orig_ori); - fp_PageSize::Unit orig_unit,final_unit,orig_margu,final_margu; + UT_Dimension orig_unit,final_unit,orig_margu,final_margu; double orig_scale,final_scale; - orig_unit = pDoc->m_docPageSize.getUnit(); + orig_unit = pDoc->m_docPageSize.getDims(); orig_scale = pDoc->m_docPageSize.getScale(); pDialog->setPageUnits(orig_unit); @@ -5503,7 +5490,7 @@ dHeaderMargin = UT_convertToInches(pszHeaderMargin); } FREEP(props_in); - orig_margu = fp_PageSize::inch; + orig_margu = DIM_IN; if(docMargUnits == DIM_MM) { dLeftMargin = dLeftMargin * 25.4; @@ -5512,7 +5499,7 @@ dBottomMargin = dBottomMargin * 25.4; dFooterMargin = dFooterMargin * 25.4; dHeaderMargin = dHeaderMargin * 25.4; - orig_margu = fp_PageSize::mm; + orig_margu = DIM_MM; } else if(docMargUnits == DIM_CM) { @@ -5522,7 +5509,7 @@ dBottomMargin = dBottomMargin * 2.54; dFooterMargin = dFooterMargin * 2.54; dHeaderMargin = dHeaderMargin * 2.54; - orig_margu = fp_PageSize::cm; + orig_margu = DIM_CM; } // @@ -5551,7 +5538,7 @@ if (final_def == fp_PageSize::Custom) { - final_ut = pDialog->getPageSize().getUnit(); + final_ut = pDialog->getPageSize().getDims(); final_wid = pDialog->getPageSize().Width(final_ut); final_ht = pDialog->getPageSize().Height(final_ut); } @@ -5622,7 +5609,7 @@ UT_ASSERT(pPrefsScheme); pPrefsScheme->setValue((XML_Char*)AP_PREF_KEY_RulerUnits, - (XML_Char*)UT_dimensionName(fp_2_dim (final_unit))); + (XML_Char*)UT_dimensionName(final_unit)); // // Recover ppView @@ -5648,7 +5635,7 @@ dFooterMargin = (double) pDialog->getMarginFooter(); docMargUnits = DIM_IN; - if(final_margu == fp_PageSize::cm) + if(final_margu == DIM_CM) { docMargUnits = DIM_CM; dLeftMargin = dLeftMargin / 2.54; @@ -5658,7 +5645,7 @@ dFooterMargin = dFooterMargin / 2.54; dHeaderMargin = dHeaderMargin / 2.54; } - else if (final_margu == fp_PageSize::mm) + else if (final_margu == DIM_MM) { docMargUnits = DIM_MM; dLeftMargin = dLeftMargin / 25.4; @@ -6533,8 +6520,8 @@ const fp_PageSize & page = pView->getPageSize (); // an approximate... TODO: make me more accurate - max_width = page.Width (fp_PageSize::inch) * 72.0; - max_height = page.Height (fp_PageSize::inch) * 72.0; + max_width = page.Width (DIM_IN) * 72.0; + max_height = page.Height (DIM_IN) * 72.0; pDialog->setWidth (width); pDialog->setHeight (height); @@ -6946,7 +6933,7 @@ ABIWORD_VIEW; bool ret; bool doLists = true; - double page_size = pView->getPageSize().Width (fp_PageSize::inch); + double page_size = pView->getPageSize().Width (DIM_IN); if(!pView->getCurrentBlock()->isListItem() || !pView->isSelectionEmpty() ) { doLists = false; @@ -6959,7 +6946,7 @@ { ABIWORD_VIEW; bool ret; - double page_size = pView->getPageSize().Width (fp_PageSize::inch); + double page_size = pView->getPageSize().Width (DIM_IN); bool doLists = true; if(!pView->getCurrentBlock()->isListItem() || !pView->isSelectionEmpty() ) { Index: src/wp/ap/xp/ap_Preview_Abi.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/ap/xp/ap_Preview_Abi.cpp,v retrieving revision 1.3 diff -u -r1.3 ap_Preview_Abi.cpp --- src/wp/ap/xp/ap_Preview_Abi.cpp 2001/04/30 03:19:03 1.3 +++ src/wp/ap/xp/ap_Preview_Abi.cpp 2002/01/01 21:38:53 @@ -72,8 +72,8 @@ // #ifndef ABI_OPT_WIDGET - double curWidth = static_cast(pFrame->getCurrentDoc())->m_docPageSize.Width(fp_PageSize::inch); - double curHeight = static_cast(pFrame->getCurrentDoc())->m_docPageSize.Height(fp_PageSize::inch); + double curWidth = static_cast(pFrame->getCurrentDoc())->m_docPageSize.Width(DIM_IN); + double curHeight = static_cast(pFrame->getCurrentDoc())->m_docPageSize.Height(DIM_IN); #else // DOM: evil hack double curWidth = 8.5; @@ -97,7 +97,7 @@ // For this we set the zoom to fit the page width inside the preview // case PREVIEW_ZOOMED: - m_pDocument->m_docPageSize.Set(curWidth,curHeight,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(curWidth,curHeight,DIM_IN); previewWidth = ((double) iWidth)/((double) gc->getResolution()); tmp = 100.0 * previewWidth/curWidth; iZoom = (UT_uint32) tmp; @@ -109,21 +109,21 @@ case PREVIEW_ADJUSTED_PAGE: width = (double) iWidth/((double) gc->getResolution()); height = (double) iHeight/((double) gc->getResolution()) ; - m_pDocument->m_docPageSize.Set(width,height,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(width,height,DIM_IN); break; // // In this case we set the page size to the current pagesize and just // clip the display inside the gc window // case PREVIEW_CLIPPED: - m_pDocument->m_docPageSize.Set(curWidth,curHeight,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(curWidth,curHeight,DIM_IN); break; // // For this we set the zoom to fit the page width inside the preview and add // a scrollbar // case PREVIEW_ZOOMED_SCROLL: - m_pDocument->m_docPageSize.Set(curWidth,curHeight,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(curWidth,curHeight,DIM_IN); previewWidth = (double) iWidth/((double) gc->getResolution()); tmp = 100.0 * previewWidth/curWidth; iZoom = (UT_uint32) tmp; @@ -137,14 +137,14 @@ case PREVIEW_ADJUSTED_PAGE_SCROLL: width = (double) iWidth/((double) gc->getResolution()); height = (double) iHeight/((double) gc->getResolution()) ; - m_pDocument->m_docPageSize.Set(width,height,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(width,height,DIM_IN); break; // // In this case we set the page size to the current pagesize and just // clip the display inside the gc window and add a scroll bar. // case PREVIEW_CLIPPED_SCROLL: - m_pDocument->m_docPageSize.Set(curWidth,curHeight,fp_PageSize::inch); + m_pDocument->m_docPageSize.Set(curWidth,curHeight,DIM_IN); break; default: UT_ASSERT(UT_SHOULD_NOT_HAPPEN); Index: src/wp/impexp/xp/ie_exp_AbiWord_1.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_AbiWord_1.cpp,v retrieving revision 1.90 diff -u -r1.90 ie_exp_AbiWord_1.cpp --- src/wp/impexp/xp/ie_exp_AbiWord_1.cpp 2001/12/07 20:42:34 1.90 +++ src/wp/impexp/xp/ie_exp_AbiWord_1.cpp 2002/01/01 21:39:05 @@ -848,7 +848,7 @@ else m_pie->write("landscape\""); m_pie->write( " width=\""); - fp_PageSize::Unit docUnit = m_pDocument->m_docPageSize.getUnit(); + UT_Dimension docUnit = m_pDocument->m_docPageSize.getDims(); sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Width(docUnit)); m_pie->write( (char *) buf); m_pie->write("\""); @@ -857,14 +857,7 @@ m_pie->write( (char *) buf); m_pie->write("\""); m_pie->write(" units=\""); - if(docUnit == fp_PageSize::cm) - m_pie->write("cm"); - else if(docUnit == fp_PageSize::mm) - m_pie->write("mm"); - else if(docUnit == fp_PageSize::inch) - m_pie->write("inch"); - else - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); + m_pie->write(UT_dimensionName(docUnit)); m_pie->write("\""); m_pie->write(" page-scale=\""); sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.getScale()); Index: src/wp/impexp/xp/ie_exp_KWord_1.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_KWord_1.cpp,v retrieving revision 1.11 diff -u -r1.11 ie_exp_KWord_1.cpp --- src/wp/impexp/xp/ie_exp_KWord_1.cpp 2001/12/25 01:08:21 1.11 +++ src/wp/impexp/xp/ie_exp_KWord_1.cpp 2002/01/01 21:39:13 @@ -109,8 +109,7 @@ }; // KWord version 1 width/height are in mm -static const UT_Dimension kword_1_unit_ut = DIM_MM; -static const fp_PageSize::Unit kword_1_unit_fp = fp_PageSize::mm; +static const UT_Dimension kword_1_unit = DIM_MM; /*****************************************************************/ /*****************************************************************/ @@ -445,22 +444,6 @@ /*****************************************************************/ static const char * -preferedUnitString(fp_PageSize::Unit docUnit) -{ - if(docUnit == fp_PageSize::cm) - return "mm"; - else if(docUnit == fp_PageSize::mm) - return "mm"; - else if(docUnit == fp_PageSize::inch) - return "inch"; - else - { - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); - return ""; - } -} - -static const char * justificationToNumber(const char * justification_name) { if (! strcmp(justification_name,"left")) @@ -562,7 +545,7 @@ sprintf(buf, "page-margin-%s", name); szValue = PP_evalProperty(buf, NULL, NULL, pAP, m_pDocument, true); - sprintf((char *) buf," %s=\"%f",name, UT_convertToDimension(szValue, kword_1_unit_ut)); + sprintf((char *) buf," %s=\"%f",name, UT_convertToDimension(szValue, kword_1_unit)); m_pie->write((char *)buf); m_pie->write("\""); @@ -601,12 +584,12 @@ char buf[20]; m_pie->write(" width=\""); - sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Width(kword_1_unit_fp)); + sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Width(kword_1_unit)); m_pie->write((char *)buf); m_pie->write("\""); m_pie->write(" height=\""); - sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Height(kword_1_unit_fp)); + sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Height(kword_1_unit)); m_pie->write((char *)buf); m_pie->write("\""); @@ -636,7 +619,7 @@ m_pie->write("write(" processing=\"0\""); m_pie->write(" unit=\""); - m_pie->write(preferedUnitString(m_pDocument->m_docPageSize.getUnit())); + m_pie->write(UT_dimensionName(m_pDocument->m_docPageSize.getDims())); m_pie->write("\""); m_pie->write("/>\n"); Index: src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp,v retrieving revision 1.56 diff -u -r1.56 ie_exp_RTF_listenerWriteDoc.cpp --- src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp 2001/12/20 23:05:27 1.56 +++ src/wp/impexp/xp/ie_exp_RTF_listenerWriteDoc.cpp 2002/01/01 21:39:21 @@ -527,8 +527,8 @@ old_locale = setlocale (LC_NUMERIC, "C"); - double width = m_pDocument->m_docPageSize.Width(fp_PageSize::inch); - double height = m_pDocument->m_docPageSize.Height(fp_PageSize::inch); + double width = m_pDocument->m_docPageSize.Width(DIM_IN); + double height = m_pDocument->m_docPageSize.Height(DIM_IN); bool landscape = !m_pDocument->m_docPageSize.isPortrait(); XML_Char szPaperWidth[24]; Index: src/wp/impexp/xp/ie_exp_XSL-FO.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_exp_XSL-FO.cpp,v retrieving revision 1.26 diff -u -r1.26 ie_exp_XSL-FO.cpp --- src/wp/impexp/xp/ie_exp_XSL-FO.cpp 2001/11/29 03:50:47 1.26 +++ src/wp/impexp/xp/ie_exp_XSL-FO.cpp 2002/01/01 21:39:27 @@ -580,22 +580,6 @@ /*****************************************************************/ /*****************************************************************/ -static const char * -docUnitToString(fp_PageSize::Unit docUnit) -{ - if(docUnit == fp_PageSize::cm) - return "cm"; - else if(docUnit == fp_PageSize::mm) - return "mm"; - else if(docUnit == fp_PageSize::inch) - return "in"; - else - { - UT_ASSERT(UT_SHOULD_NOT_HAPPEN); - return ""; - } -} - static UT_String purgeSpaces(const char* st) { @@ -657,19 +641,19 @@ m_pie->write(szValue); m_pie->write("\""); - fp_PageSize::Unit docUnit = m_pDocument->m_docPageSize.getUnit(); + UT_Dimension docUnit = m_pDocument->m_docPageSize.getDims(); char buf[20]; m_pie->write( " page-width=\""); sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Width(docUnit)); m_pie->write((char *)buf); - m_pie->write(docUnitToString(docUnit)); + m_pie->write(UT_dimensionName(docUnit)); m_pie->write("\""); m_pie->write(" page-height=\""); sprintf((char *) buf,"%f",m_pDocument->m_docPageSize.Height(docUnit)); m_pie->write((char *)buf); - m_pie->write(docUnitToString(docUnit)); + m_pie->write(UT_dimensionName(docUnit)); m_pie->write("\""); } Index: src/wp/impexp/xp/ie_imp_KWord_1.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_imp_KWord_1.cpp,v retrieving revision 1.12 diff -u -r1.12 ie_imp_KWord_1.cpp --- src/wp/impexp/xp/ie_imp_KWord_1.cpp 2001/10/24 16:23:47 1.12 +++ src/wp/impexp/xp/ie_imp_KWord_1.cpp 2002/01/01 21:39:37 @@ -560,7 +560,7 @@ } if ( page_height != 0. && page_width != 0. ) - getDoc()->m_docPageSize.Set(page_width, page_height, fp_PageSize::mm); + getDoc()->m_docPageSize.Set(page_width, page_height, DIM_MM); break; } Index: src/wp/impexp/xp/ie_imp_MsWord_97.cpp =================================================================== RCS file: /cvsroot/abi/src/wp/impexp/xp/ie_imp_MsWord_97.cpp,v retrieving revision 1.135 diff -u -r1.135 ie_imp_MsWord_97.cpp --- src/wp/impexp/xp/ie_imp_MsWord_97.cpp 2001/12/28 22:58:26 1.135 +++ src/wp/impexp/xp/ie_imp_MsWord_97.cpp 2002/01/01 21:39:51 @@ -1336,7 +1336,7 @@ } // always use the passed size - getDoc()->m_docPageSize.Set (page_width, page_height, fp_PageSize::inch); + getDoc()->m_docPageSize.Set (page_width, page_height, DIM_IN); getDoc()->m_docPageSize.setScale(page_scale); }