diff options
author | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-06-03 14:33:05 +0200 |
---|---|---|
committer | Frank Schoenheit [fs] <frank.schoenheit@sun.com> | 2010-06-03 14:33:05 +0200 |
commit | 1b37b4dae7604e9c41d7aceb189c18d43703698b (patch) | |
tree | d51492bb787b1a4529848181a41d49bc244e7e32 /sc | |
parent | bd2e9bfe7f5b4beb227e09f8a1f1d0e49c34bf1f (diff) | |
parent | a24ed4a9d146127a698669b23635ba565c0f2e2f (diff) |
slidecopy: merged latest DEV300.m80 changes
Diffstat (limited to 'sc')
160 files changed, 2627 insertions, 7827 deletions
diff --git a/sc/addin/datefunc/makefile.mk b/sc/addin/datefunc/makefile.mk index 4e4966720261..f781b3835833 100644 --- a/sc/addin/datefunc/makefile.mk +++ b/sc/addin/datefunc/makefile.mk @@ -86,11 +86,7 @@ $(MISC)$/$(TARGET).lst : \ $(INCCOM)$/xlang.h \ ..$/inc$/$(TARGET).hrc \ ..$/inc$/addin.h -.IF "$(GUI)"=="UNX" || "$(USE_SHELL)"!="4nt" echo $< > $@ -.ELSE - echo $(<:+"\n":s/ //) > $@ -.ENDIF # --- Def-File --- diff --git a/sc/addin/makefile.mk b/sc/addin/makefile.mk index c9505e29d4d4..e716a8d8477a 100644 --- a/sc/addin/makefile.mk +++ b/sc/addin/makefile.mk @@ -41,10 +41,5 @@ TARGET=addin ALLTAR: $(MISC)$/cl2c.pl $(MISC)$/cl2c.pl: util/cl2c.pl -.IF "$(GUI)"=="UNX" || "$(USE_SHELL)"!="4nt" tr -d "\015" < util$/cl2c.pl > $@ chmod +rw $@ -.ELSE - @$(COPY) util$/cl2c.pl $@ -.ENDIF - diff --git a/sc/addin/rot13/exports.map b/sc/addin/rot13/exports.map index fa447824beda..c662c9148aba 100644 --- a/sc/addin/rot13/exports.map +++ b/sc/addin/rot13/exports.map @@ -1,4 +1,4 @@ -SC_1_0 { +UDK_3_0_0 { global: GetFunctionCount; GetFunctionData; diff --git a/sc/addin/rot13/makefile.mk b/sc/addin/rot13/makefile.mk index 128d8f10b6f8..a33c50d2a725 100644 --- a/sc/addin/rot13/makefile.mk +++ b/sc/addin/rot13/makefile.mk @@ -85,9 +85,4 @@ $(MISC)$/rot.lst : \ $(INCCOM)$/xlang.h \ ..$/inc$/rot13.hrc \ ..$/inc$/addin.h -.IF "$(GUI)"=="UNX" || "$(USE_SHELL)"!="4nt" @echo $< > $@ -.ELSE - @echo $(<:+"\n":s/ //) > $@ -.ENDIF - diff --git a/sc/addin/util/makefile.mk b/sc/addin/util/makefile.mk index e415cf7631d7..2bd75148f80a 100644 --- a/sc/addin/util/makefile.mk +++ b/sc/addin/util/makefile.mk @@ -37,13 +37,9 @@ TARGET=autil $(BIN)$/addin.zip : \ $(MISC)$/rot.lst \ $(MISC)$/dfa.lst -.IF "$(GUI)"=="UNX" || "$(USE_SHELL)"!="4nt" $(TYPE) $(MISC)$/rot.lst | tr -s " " "\n" | zip -@ -u -j -ll $(BIN)$/addin.zip $(CHECKZIPRESULT) $(TYPE) $(MISC)$/dfa.lst | tr -s " " "\n" | zip -@ -u -j -ll $(BIN)$/addin.zip $(CHECKZIPRESULT) chmod +rw $(BIN)$/addin.zip -.ELSE - $(TYPE) $< | zip -@ -u -j $(BIN)$/addin.zip $(CHECKZIPRESULT) -.ENDIF .INCLUDE: target.mk diff --git a/sc/inc/chgtrack.hxx b/sc/inc/chgtrack.hxx index ffe248bb3f65..6cf3d59314ef 100644 --- a/sc/inc/chgtrack.hxx +++ b/sc/inc/chgtrack.hxx @@ -308,7 +308,6 @@ protected: GetDeletedInAddress(), p ); } BOOL RemoveDeletedIn( const ScChangeAction* ); - void RemoveAllDeletedIn(); void SetDeletedIn( ScChangeAction* ); ScChangeActionLinkEntry* AddDeleted( ScChangeAction* p ) @@ -414,6 +413,7 @@ public: { return IsDeleteType() || IsDeletedIn(); } BOOL IsDeletedIn( const ScChangeAction* ) const; BOOL IsDeletedInDelType( ScChangeActionType ) const; + void RemoveAllDeletedIn(); const ScChangeActionLinkEntry* GetFirstDeletedEntry() const { return pLinkDeleted; } diff --git a/sc/inc/column.hxx b/sc/inc/column.hxx index 85567a2a656d..c39d0deca0b7 100644 --- a/sc/inc/column.hxx +++ b/sc/inc/column.hxx @@ -373,7 +373,7 @@ public: /// Including current, may return -1 SCsROW GetNextUnprotected( SCROW nRow, BOOL bUp ) const; - void GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollection& rStrings); + void GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollection& rStrings, bool& rHasDates); BOOL GetDataEntries(SCROW nRow, TypedScStrCollection& rStrings, BOOL bLimit); //UNUSED2008-05 SCROW NoteCount( SCROW nMaxRow = MAXROW ) const; @@ -397,8 +397,8 @@ public: void CompileColRowNameFormula(); sal_Int32 GetMaxStringLen( SCROW nRowStart, SCROW nRowEnd, CharSet eCharSet ) const; - xub_StrLen GetMaxNumberStringLen( USHORT& nPrecision, - SCROW nRowStart, SCROW nRowEnd ) const; + xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, + SCROW nRowStart, SCROW nRowEnd ) const; private: ScBaseCell* CloneCell(SCSIZE nIndex, USHORT nFlags, ScDocument& rDestDoc, const ScAddress& rDestPos); diff --git a/sc/inc/dbcolect.hxx b/sc/inc/dbcolect.hxx index 488263bebf53..72356683d1a4 100644 --- a/sc/inc/dbcolect.hxx +++ b/sc/inc/dbcolect.hxx @@ -84,6 +84,7 @@ private: SCCOLROW nQueryField[MAXQUERY]; ScQueryOp eQueryOp[MAXQUERY]; BOOL bQueryByString[MAXQUERY]; + bool bQueryByDate[MAXQUERY]; String* pQueryStr[MAXQUERY]; double nQueryVal[MAXQUERY]; ScQueryConnect eQueryConnect[MAXQUERY]; diff --git a/sc/inc/docoptio.hxx b/sc/inc/docoptio.hxx index 9dd1057db67f..6f6d4c859a5c 100644 --- a/sc/inc/docoptio.hxx +++ b/sc/inc/docoptio.hxx @@ -38,7 +38,7 @@ class SC_DLLPUBLIC ScDocOptions { double fIterEps; // Epsilon-Wert dazu USHORT nIterCount; // Anzahl - USHORT nPrecStandardFormat; // Nachkommastellen Standard + sal_uInt16 nPrecStandardFormat; // precision for standard format USHORT nDay; // Nulldatum: USHORT nMonth; USHORT nYear; @@ -86,8 +86,8 @@ public: inline int operator==( const ScDocOptions& rOpt ) const; inline int operator!=( const ScDocOptions& rOpt ) const; - USHORT GetStdPrecision() const { return nPrecStandardFormat; } - void SetStdPrecision( USHORT n ) { nPrecStandardFormat = n; } + sal_uInt16 GetStdPrecision() const { return nPrecStandardFormat; } + void SetStdPrecision( sal_uInt16 n ) { nPrecStandardFormat = n; } BOOL IsCalcAsShown() const { return bCalcAsShown; } void SetCalcAsShown( BOOL bVal ) { bCalcAsShown = bVal; } diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx index 1d92962a56db..02c859723fa2 100644 --- a/sc/inc/document.hxx +++ b/sc/inc/document.hxx @@ -896,10 +896,17 @@ public: USHORT GetErrCode( const ScAddress& ) const; - bool ShrinkToDataArea(SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow) const; + /** Shrink a range to only include data area. + This is not the actually used area within the + selection, but the bounds of the sheet's data area + instead. */ + bool ShrinkToDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow ) const; + + /** Shrink a range to only include used data area. */ + bool ShrinkToUsedDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const; void GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld ); + SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld, bool bOnlyDown ); SC_DLLPUBLIC BOOL GetCellArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const; SC_DLLPUBLIC BOOL GetTableArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow ) const; SC_DLLPUBLIC BOOL GetPrintArea( SCTAB nTab, SCCOL& rEndCol, SCROW& rEndRow, @@ -1095,7 +1102,8 @@ public: void UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL, BOOL bIncludeDraw = TRUE ); + ScDocument* pUndoDoc = NULL, BOOL bIncludeDraw = TRUE, + bool bUpdateNoteCaptionPos = true ); SC_DLLPUBLIC void UpdateTranspose( const ScAddress& rDestPos, ScDocument* pClipDoc, const ScMarkData& rMark, ScDocument* pUndoDoc = NULL ); @@ -1417,9 +1425,9 @@ public: void GetUpperCellString(SCCOL nCol, SCROW nRow, SCTAB nTab, String& rStr); BOOL GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, - TypedScStrCollection& rStrings, bool bFilter = false ); + bool bFilter, TypedScStrCollection& rStrings, bool& rHasDates); SC_DLLPUBLIC BOOL GetFilterEntriesArea( SCCOL nCol, SCROW nStartRow, SCROW nEndRow, - SCTAB nTab, TypedScStrCollection& rStrings ); + SCTAB nTab, TypedScStrCollection& rStrings, bool& rHasDates ); BOOL GetDataEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedScStrCollection& rStrings, BOOL bLimit = FALSE ); BOOL GetFormulaEntries( TypedScStrCollection& rStrings ); @@ -1651,7 +1659,7 @@ public: BOOL IsExpandRefs() { return bExpandRefs; } SC_DLLPUBLIC void IncSizeRecalcLevel( SCTAB nTab ); - SC_DLLPUBLIC void DecSizeRecalcLevel( SCTAB nTab ); + SC_DLLPUBLIC void DecSizeRecalcLevel( SCTAB nTab, bool bUpdateNoteCaptionPos = true ); ULONG GetXMLImportedFormulaCount() const { return nXMLImportedFormulaCount; } void IncXMLImportedFormulaCount( ULONG nVal ) @@ -1684,9 +1692,9 @@ public: /** Maximum string length of numerical cells of a column, e.g. for dBase export. @return String length in characters (!) including the decimal separator, and the decimal precision needed. */ - xub_StrLen GetMaxNumberStringLen( USHORT& nPrecision, - SCTAB nTab, SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd ) const; + xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, + SCTAB nTab, SCCOL nCol, + SCROW nRowStart, SCROW nRowEnd ) const; void KeyInput( const KeyEvent& rKEvt ); // TimerDelays etc. @@ -1741,6 +1749,8 @@ public: { return eStorageGrammar; } SfxUndoManager* GetUndoManager(); + bool IsInVBAMode() const; + private: // CLOOK-Impl-Methoden /** diff --git a/sc/inc/drwlayer.hxx b/sc/inc/drwlayer.hxx index 563cf768b5ae..7dd9903f82a1 100644 --- a/sc/inc/drwlayer.hxx +++ b/sc/inc/drwlayer.hxx @@ -110,9 +110,9 @@ private: void MoveAreaTwips( SCTAB nTab, const Rectangle& rArea, const Point& rMove, const Point& rTopLeft ); void MoveCells( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy ); + SCsCOL nDx,SCsROW nDy, bool bUpdateNoteCaptionPos ); - void RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage ); + void RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ); public: ScDrawLayer( ScDocument* pDocument, const String& rName ); @@ -155,7 +155,7 @@ public: void AddCalcUndo( SdrUndoAction* pUndo ); void MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, BOOL bInsDel ); + SCsCOL nDx,SCsROW nDy, BOOL bInsDel, bool bUpdateNoteCaptionPos = true ); void WidthChanged( SCTAB nTab, SCCOL nCol, long nDifTwips ); void HeightChanged( SCTAB nTab, SCROW nRow, long nDifTwips ); @@ -173,7 +173,7 @@ public: SCTAB nSourceTab, const Rectangle& rSourceRange, const ScAddress& rDestPos, const Rectangle& rDestRange ); - void SetPageSize( USHORT nPageNo, const Size& rSize ); + void SetPageSize( USHORT nPageNo, const Size& rSize, bool bUpdateNoteCaptionPos = true ); // mirror or move between positive and negative positions for RTL void MirrorRTL( SdrObject* pObj ); diff --git a/sc/inc/eetext.hxx b/sc/inc/eetext.hxx deleted file mode 100644 index 28ee0d5f09b2..000000000000 --- a/sc/inc/eetext.hxx +++ /dev/null @@ -1,33 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_EETEXT_HXX -#define SC_EETEXT_HXX - -#endif - - diff --git a/sc/inc/externalrefmgr.hxx b/sc/inc/externalrefmgr.hxx index ae37b710a074..f47d99097b39 100644 --- a/sc/inc/externalrefmgr.hxx +++ b/sc/inc/externalrefmgr.hxx @@ -141,7 +141,7 @@ public: ~Table(); SC_DLLPUBLIC void setCell(SCCOL nCol, SCROW nRow, TokenRef pToken, sal_uInt32 nFmtIndex = 0); - TokenRef getCell(SCCOL nCol, SCROW nRow, sal_uInt32* pnFmtIndex = NULL) const; + SC_DLLPUBLIC TokenRef getCell(SCCOL nCol, SCROW nRow, sal_uInt32* pnFmtIndex = NULL) const; bool hasRow( SCROW nRow ) const; /** Set/clear referenced status flag only if current status is not REFERENCED_PERMANENT. */ @@ -152,8 +152,12 @@ public: bool isReferenced() const; /// Obtain a sorted vector of rows. void getAllRows(::std::vector<SCROW>& rRows) const; + /// Returns the half-open range of used rows in this table. Returns [0,0) if table is empty. + SC_DLLPUBLIC ::std::pair< SCROW, SCROW > getRowRange() const; /// Obtain a sorted vector of columns. void getAllCols(SCROW nRow, ::std::vector<SCCOL>& rCols) const; + /// Returns the half-open range of used columns in the specified row. Returns [0,0) if row is empty. + SC_DLLPUBLIC ::std::pair< SCCOL, SCCOL > getColRange( SCROW nRow ) const; void getAllNumberFormats(::std::vector<sal_uInt32>& rNumFmts) const; private: @@ -467,6 +471,13 @@ public: * @return shared_ptr to the cache table instance */ ScExternalRefCache::TableTypeRef getCacheTable(sal_uInt16 nFileId, const String& rTabName, bool bCreateNew, size_t* pnIndex = 0); + + /** Returns a vector containing all (real) table names and cache tables of + the specified file. + + The index in the returned vector corresponds to the table index used to + access the cache table, e.g. in getCacheTable(). + */ void getAllCachedTableNames(sal_uInt16 nFileId, ::std::vector<String>& rTabNames) const; /** diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx index 185113e77389..23668aa6813d 100644 --- a/sc/inc/global.hxx +++ b/sc/inc/global.hxx @@ -414,6 +414,29 @@ enum ScGetDBMode SC_DB_OLD // nicht neu anlegen }; +/// For ScDBFunc::GetDBData() +enum ScGetDBSelection +{ + /** Keep selection as is, expand to used data area if no selection. */ + SC_DBSEL_KEEP, + + /** Shrink selection to sheet's data area. */ + SC_DBSEL_SHRINK_TO_SHEET_DATA, + + /** Shrink selection to actually used data area within the selection. */ + SC_DBSEL_SHRINK_TO_USED_DATA, + + /** If only one row or portion thereof is selected, shrink row to used data + columns and select further rows down until end of data. If an area is + selected, shrink rows to actually used columns. Else, no selection, + expand to used data area. */ + SC_DBSEL_ROW_DOWN, + + /** Behave as if the range corresponding to a ScDBData area was selected, + for API use. */ + SC_DBSEL_FORCE_MARK +}; + enum ScLkUpdMode { //Verknuepfungen LM_ALWAYS, //immer aktualisieren @@ -779,6 +802,7 @@ struct ScQueryEntry { BOOL bDoQuery; BOOL bQueryByString; + bool bQueryByDate; SCCOLROW nField; ScQueryOp eOp; ScQueryConnect eConnect; diff --git a/sc/inc/globstr.hrc b/sc/inc/globstr.hrc index bca93e7aa441..a9c1997f74f5 100644 --- a/sc/inc/globstr.hrc +++ b/sc/inc/globstr.hrc @@ -353,7 +353,7 @@ #define STR_SCATTR_PAGE_SCALETOPAGES 277 #define STR_NOREF_STR 278 /* moved to compiler.src, keep define! */ -#define STR_ODER_SO 279 +// unused: 279 #define STR_UNDO_CHARTDATA 280 #define STR_UNDO_ORIGINALSIZE 281 diff --git a/sc/inc/rangelst.hxx b/sc/inc/rangelst.hxx index 51555decaa5b..e00fce10da1c 100644 --- a/sc/inc/rangelst.hxx +++ b/sc/inc/rangelst.hxx @@ -40,6 +40,7 @@ class SC_DLLPUBLIC ScRangeList : public ScRangeListBase, public SvRefBase { private: using ScRangeListBase::operator==; + using ScRangeListBase::operator!=; public: ScRangeList() {} @@ -65,6 +66,7 @@ public: SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); ScRange* Find( const ScAddress& ) const; BOOL operator==( const ScRangeList& ) const; + BOOL operator!=( const ScRangeList& r ) const; BOOL Intersects( const ScRange& ) const; BOOL In( const ScRange& ) const; ULONG GetCellCount() const; diff --git a/sc/inc/sc.hrc b/sc/inc/sc.hrc index 1b6d18e21dbb..c2bf3e96ed5c 100644 --- a/sc/inc/sc.hrc +++ b/sc/inc/sc.hrc @@ -262,6 +262,8 @@ #define HID_SC_RENAME_OBJECT ( HID_SC_TOOLBOX_START + 9 ) +#define HID_SC_REN_AFMT_DLG ( HID_SC_TOOLBOX_START + 10 ) + // Hilfe IDs fuer Submenus (max.50) ------------------------------------------ #define HID_SCMENU_EDIT ( HID_SC_MENU_START ) #define HID_SCMENU_FILL ( HID_SC_MENU_START + 1 ) @@ -1144,9 +1146,6 @@ #define RID_IMGLIST_INPUTWIN (SC_RESOURCE_START+22) #define RID_ERRHDLSC (SC_RESOURCE_START+23) #define RID_POPUP_GRAPHIC (SC_RESOURCE_START+24) -#define RID_SCTEAMDLGBMP1 (SC_RESOURCE_START+25) -#define RID_SCTEAMDLGBMP2 (SC_RESOURCE_START+26) -#define RID_SCTEAMDLGBMP3 (SC_RESOURCE_START+27) #define RID_POPUP_DRAWTEXT (SC_RESOURCE_START+29) #define RID_MN_FORMAT_ALGN (SC_RESOURCE_START+30) #define RID_MN_FORMAT_STYLE (SC_RESOURCE_START+31) @@ -1528,7 +1527,6 @@ #define RID_SCDLG_NAMES_PASTE (SC_DIALOGS_START + 72) #define RID_SCDLG_NAMES_CREATE (SC_DIALOGS_START + 73) #define RID_SCDLG_NAMES_APPLY (SC_DIALOGS_START + 74) //NYI -#define RID_SCDLG_TEAM (SC_DIALOGS_START + 75) #define RID_SCDLG_CHAR (SC_DIALOGS_START + 76) #define RID_SCDLG_PARAGRAPH (SC_DIALOGS_START + 77) diff --git a/sc/inc/scimpexpmsg.hxx b/sc/inc/scimpexpmsg.hxx deleted file mode 100644 index 5574edd12083..000000000000 --- a/sc/inc/scimpexpmsg.hxx +++ /dev/null @@ -1,105 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCIMPEXPMSG_HXX -#define SC_SCIMPEXPMSG_HXX - - -#include <tools/string.hxx> -#include <tools/solar.h> - -//UNUSED2008-05 enum ScImpExpMsg -//UNUSED2008-05 { -//UNUSED2008-05 SC_IMPEXPMSG_UNKNOWN -//UNUSED2008-05 }; -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 class String; -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 class ScImpExpLogMsg -//UNUSED2008-05 { -//UNUSED2008-05 private: -//UNUSED2008-05 ScImpExpMsg eId; -//UNUSED2008-05 String* pPos; -//UNUSED2008-05 String* pHint; -//UNUSED2008-05 protected: -//UNUSED2008-05 public: -//UNUSED2008-05 ScImpExpLogMsg( ScImpExpMsg eId ); -//UNUSED2008-05 ScImpExpLogMsg( ScImpExpMsg eId, const String& rPosition ); -//UNUSED2008-05 ScImpExpLogMsg( ScImpExpMsg eId, const String& rPosition, const String& rAdditionalHint ); -//UNUSED2008-05 ScImpExpLogMsg( const ScImpExpLogMsg& rCpy ); -//UNUSED2008-05 virtual ~ScImpExpLogMsg(); -//UNUSED2008-05 -//UNUSED2008-05 ScImpExpLogMsg& operator =( const ScImpExpLogMsg& rCpy ); -//UNUSED2008-05 -//UNUSED2008-05 void Set( ScImpExpMsg eId, const String* pPos = NULL, const String* pHint = NULL ); -//UNUSED2008-05 -//UNUSED2008-05 inline ScImpExpMsg GetId( void ) const; -//UNUSED2008-05 inline const String* GetPos( void ) const; -//UNUSED2008-05 inline const String* GetHint( void ) const; -//UNUSED2008-05 -//UNUSED2008-05 static String GetMsg( ScImpExpMsg eId ); -//UNUSED2008-05 inline String GetMsg( void ) const; -//UNUSED2008-05 }; -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 inline ScImpExpLogMsg& ScImpExpLogMsg::operator =( const ScImpExpLogMsg& r ) -//UNUSED2008-05 { -//UNUSED2008-05 Set( r.eId, r.pPos, r.pHint ); -//UNUSED2008-05 return *this; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 inline ScImpExpMsg ScImpExpLogMsg::GetId( void ) const -//UNUSED2008-05 { -//UNUSED2008-05 return eId; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 inline const String* ScImpExpLogMsg::GetPos( void ) const -//UNUSED2008-05 { -//UNUSED2008-05 return pPos; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 inline const String* ScImpExpLogMsg::GetHint( void ) const -//UNUSED2008-05 { -//UNUSED2008-05 return pHint; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 inline String ScImpExpLogMsg::GetMsg( void ) const -//UNUSED2008-05 { -//UNUSED2008-05 return GetMsg( eId ); -//UNUSED2008-05 } - -#endif - - diff --git a/sc/inc/scmod.hxx b/sc/inc/scmod.hxx index ee2c956e7742..984e36bec03e 100644 --- a/sc/inc/scmod.hxx +++ b/sc/inc/scmod.hxx @@ -74,7 +74,6 @@ class ScInputWindow; class ScTabViewShell; class ScFunctionDlg; class ScArgDlgBase; -class ScTeamDlg; class ScEditFunctionDlg; class ScMessagePool; class EditFieldInfo; @@ -126,7 +125,6 @@ class ScModule: public SfxModule, public SfxListener, utl::ConfigurationListener ScMessagePool* pMessagePool; // globalen InputHandler gibt's nicht mehr, jede View hat einen ScInputHandler* pRefInputHandler; - ScTeamDlg* pTeamDlg; ScViewCfg* pViewCfg; ScDocCfg* pDocCfg; ScAppCfg* pAppCfg; @@ -268,9 +266,6 @@ SC_DLLPUBLIC void SetAppOptions ( const ScAppOptions& rO BOOL IsFormulaMode(); BOOL IsRefDialogOpen(); BOOL IsTableLocked(); - void OpenTeamDlg(); - void SetTeamDlg( ScTeamDlg* pDlg ) { pTeamDlg = pDlg; } - ScTeamDlg* GetTeamDlg() const { return pTeamDlg; } void SetReference( const ScRange& rRef, ScDocument* pDoc, const ScMarkData* pMarkData = NULL ); void AddRefEntry(); diff --git a/sc/inc/segdefs.hxx b/sc/inc/segdefs.hxx deleted file mode 100644 index 6e2153ddb6a5..000000000000 --- a/sc/inc/segdefs.hxx +++ /dev/null @@ -1,39 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include "segdefs_.hxx" - -//**************************************************************** -// -//und jetzt alle probleme mit ERROR: unknown pragma beseitigen -// -//---------------------------------------------------------------- - -//segmente mit laenge 00000H (map) werden von tcovsegs.exe vergessen -//jetzt defines nachflicken! - - - diff --git a/sc/inc/segdefs_.hxx b/sc/inc/segdefs_.hxx deleted file mode 100644 index 10e020d9da60..000000000000 --- a/sc/inc/segdefs_.hxx +++ /dev/null @@ -1,4985 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#define appmain_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_03 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_04 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_06 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_22 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_23 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain_2e SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain7_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain8_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain3_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain5_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appmain4_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define msgpool_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define inputhdl_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define inputhdl_0d SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define uiitems_16 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define uiitems_22 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define uiitems_28 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define uiitems_32 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define uiitems_40 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define impex_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define editsh_0a SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define global_0f SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define global_85 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define docoptio_0b SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define docoptio_0e SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define viewopti_0f SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define viewopti_12 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define printopt_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define printopt_06 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define printopt_0f SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define printopt_12 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appoptio_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appoptio_06 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define appoptio_09 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define global2_1f SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define global2_23 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define global2_37 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define compiler_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define adiasync_01 SEG_SEGCLASS(STARTING_SEG000,STARTING_CODE) -#define docpool_03 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column_0f SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_48 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_63 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_2d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin4_06 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin_22 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_0d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin4_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_24 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin4_03 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global2_0e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global2_11 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define fillinfo_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_5c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_53 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_25 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin4_01 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_54 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_5a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_07 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_5d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_60 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview3_47 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_0e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_5f SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define colrowba_0d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_27 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview4_07 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_17 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table1_10 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview4_06 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_62 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_64 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define documen3_2e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview4_0a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define hdrcont_04 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define colrowba_0e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define colrowba_0c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_0d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output2_01 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_8c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output2_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define patattr_08 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_28 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_26 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview3_48 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabvwsha_05 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_25 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_47 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_40 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column3_16 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define appmain_50 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabvwsh9_04 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define appmain3_04 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_10 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_26 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_29 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_24 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_19 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_09 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_0a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_07 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_26 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define appmain_3c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_28 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global_92 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputhdl_27 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global2_4c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_11 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_32 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_31 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_42 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_3d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column3_12 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column_19 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column_1a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_41 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_48 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column_0e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_49 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_64 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define attarray_05 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define attarray_04 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define attarray_10 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define column_0a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_4b SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_7b SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabvwsha_01 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_05 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin_23 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global_0e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_59 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_46 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewopti_13 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabview3_35 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_1c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_1d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define inputwin_22 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabvwsh5_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define tabvwsh4_19 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_12 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_32 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define viewdata_57 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_06 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output3_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_14 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_01 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_61 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define table2_65 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_02 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_06 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_0d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_13 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_14 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_17 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_1a SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_1b SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_1c SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_1e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global2_10 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define output_10 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_7d SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define document_7e SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define documen6_01 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define gridwin3_07 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define stlsheet_04 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define documen8_07 SEG_SEGCLASS(STARTWORK_SEG000,STARTWORK_CODE) -#define global_07 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define tabvwsha_02 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define global_88 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define impex_09 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define applink_04 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define docsh_3b SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define gridwin_08 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define documen3_25 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define patattr_04 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define document_84 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define viewdata_3f SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define patattr_01 SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define document_2e SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define document_2a SEG_SEGCLASS(STARTWORK_SEG001,STARTWORK_CODE) -#define tabvwsh7_01 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define viewfunc_38 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define document_6d SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define table2_88 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define column_64 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define document_a1 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define docsh4_11 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define docsh_2b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define docsh2_01 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define stlpool_06 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define docsh4_0d SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define global_50 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_2b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_14 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_20 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_08 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_1b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_1a SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_0c SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define appmain_0b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_2c SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_2b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define appmain_09 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_0b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabvwsh4_1a SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define gridwin_0f SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabview5_0c SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define appmain3_0b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define gridwin3_04 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define gridwin3_15 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabvwshd_03 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputhdl_03 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_1e SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define inputwin_23 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabview_13 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define viewdata_1b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define editutil_01 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define document_56 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define table1_0e SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define column2_08 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabvwsh4_1b SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define docsh_16 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define documen3_45 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabview3_34 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define tabvwsh4_1e SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define rangeutl_04 SEG_SEGCLASS(STARTSLICE_SEG000,STARTSLICE_CODE) -#define viewfunc_0b SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define document_75 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define table2_96 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define column_70 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define attarray_09 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define tabvwsh8_04 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define msgpool_04 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define tabvwsh8_01 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define document_a9 SEG_SEGCLASS(STARTSLICE_SEG001,STARTSLICE_CODE) -#define appmain3_03 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define gridwin_0e SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define gridwin_0b SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define gridwin_39 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define viewdata_2e SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define gridwin3_03 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define gridwin_26 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define colrowba_09 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define hdrcont_08 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define hdrcont_05 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define hdrcont_03 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define colrowba_03 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define colrowba_04 SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define viewdata_1f SEG_SEGCLASS(STARTSLICE_SEG002,STARTSLICE_CODE) -#define dbcolect_0f SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define documen3_05 SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define documen3_37 SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define tabvwsh6_03 SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define inputwin_0d SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define table1_28 SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define column2_23 SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define attarray_2f SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define column2_2a SEG_SEGCLASS(STARTSLICE_SEG003,STARTSLICE_CODE) -#define viewfun2_1c SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define document_83 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define attarray_01 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define document_82 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define column_03 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define table1_01 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define document_06 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define global2_07 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define global2_09 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define markarr_01 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh3_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh_14 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh3_16 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define tabvwsh4_16 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh_38 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh_39 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh_40 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docsh2_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define documen9_04 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define attarray_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define column_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define documen6_03 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define markarr_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define column3_06 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define table1_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define collect_04 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define collect_15 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define documen2_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define global_04 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define collect_17 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define adiasync_06 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define docpool_02 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define attrib_59 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define attrib_5a SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define attrib_6f SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define tabvwsh3_01 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define tabview3_6c SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define viewdata_3a SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define tabvwsh4_07 SEG_SEGCLASS(STARTSLICE_SEG004,STARTSLICE_CODE) -#define document_91 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define stlsheet_05 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define table2_95 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define column_6f SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attarray_2a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define table1_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_08 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabcont_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabcont_05 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_16 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabvwshf_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh6_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview3_44 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabcont_06 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview3_43 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_07 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabvwsh4_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh_41 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_0b SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain_58 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabvwsh4_15 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh4_0f SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh4_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define table1_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define olkact_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain_29 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define olkact_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabvwsh4_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview5_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_0b SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define select_0f SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define select_19 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_18 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_11 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define olinewin_0e SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define olinewin_0f SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_0c SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_69 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_07 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_0c SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain_28 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define select_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewdata_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen8_05 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen2_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define collect_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_18 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_19 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_35 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh3_15 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_33 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen8_0a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain7_05 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docoptio_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docoptio_10 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define collect_0c SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_39 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview5_06 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define olinewin_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define documen3_34 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewdata_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain7_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewopti_17 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define global_8b SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_06 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputhdl_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define patattr_09 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputhdl_07 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputhdl_05 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define document_95 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define table2_98 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_0e SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_0b SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_28 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define inputwin_08 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docoptio_12 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define printopt_10 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appoptio_0a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain7_08 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define select_02 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define select_0e SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docpool_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attrib_6d SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attrib_8f SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define patattr_10 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attrib_26 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attrib_30 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define attrib_34 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define stlpool_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define bcaslot_0b SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define appmain7_0a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define cbuttonw_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define cbuttonw_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define gridwin_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define hdrcont_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define colrowba_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define colrowba_0a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabsplit_01 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabsplit_06 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewdata_4a SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define viewdata_10 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview5_04 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define tabview_75 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define docsh3_03 SEG_SEGCLASS(STARTSLICE_SEG005,STARTSLICE_CODE) -#define gridwin5_01 SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define colrowba_05 SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define gridwin_29 SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define gridwin_28 SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define document_b3 SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define viewfun2_1a SEG_SEGCLASS(STARTSLICE_SEG006,STARTSLICE_CODE) -#define column_01 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define docsh6_05 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define tabvwshb_04 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define galwrap_02 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define msgpool_05 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define gridwin_2e SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define tabview2_10 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define tabvwsh4_09 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define gridwin3_10 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define tabview_6d SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define tabvwsh2_02 SEG_SEGCLASS(STARTSLICE_SEG007,STARTSLICE_CODE) -#define viewdata_44 SEG_SEGCLASS(STARTSLICE_SEG008,STARTSLICE_CODE) -#define tabview2_0b SEG_SEGCLASS(STARTSLICE_SEG008,STARTSLICE_CODE) -#define docoptio_03 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define documen8_06 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define viewopti_14 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define viewdata_06 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define viewdata_03 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define viewdata_1d SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define tabview5_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define cbuttonw_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define gridwin_04 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define hdrcont_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define colrowba_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define colrowba_0b SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define tabsplit_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define tabcont_02 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define olinewin_04 SEG_SEGCLASS(STARTSLICE_SEG009,STARTSLICE_CODE) -#define editutil_0b SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define attrib_76 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define editutil_0f SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define attrib_6e SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define editutil_1b SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define attrib_72 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define editutil_13 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define attrib_77 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define attrib_75 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define editutil_17 SEG_SEGCLASS(STARTSLICE_SEG010,STARTSLICE_CODE) -#define inputhdl_1c SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define tabview5_0b SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define uiitems_13 SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define docsh3_05 SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define uiitems_14 SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define viewdata_37 SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define viewdata_38 SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define viewdata_3b SEG_SEGCLASS(STARTSLICE_SEG011,STARTSLICE_CODE) -#define output_03 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define appmain_0a SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define tabview_06 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define tbxctl_02 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define inputhdl_19 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define attrib_5c SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define documen9_09 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define documen9_0a SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define stlpool_03 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define stlsheet_01 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define stlsheet_03 SEG_SEGCLASS(STARTSLICE_SEG012,STARTSLICE_CODE) -#define documen9_10 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define editutil_0c SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define editutil_1c SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define attrib_83 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define attrib_91 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define document_92 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define patattr_0e SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define tabvwsh4_03 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define viewfunc_31 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define dbfunc_01 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define stlpool_02 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define editutil_1e SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define attrib_71 SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define editutil_0e SEG_SEGCLASS(STARTSLICE_SEG013,STARTSLICE_CODE) -#define editutil_1a SEG_SEGCLASS(STARTSLICE_SEG014,STARTSLICE_CODE) -#define editutil_12 SEG_SEGCLASS(STARTSLICE_SEG014,STARTSLICE_CODE) -#define tabvwsh4_0b SEG_SEGCLASS(STARTSLICE_SEG014,STARTSLICE_CODE) -#define viewdata_48 SEG_SEGCLASS(STARTSLICE_SEG014,STARTSLICE_CODE) -#define tabview_73 SEG_SEGCLASS(STARTSLICE_SEG014,STARTSLICE_CODE) -#define docsh_15 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define inputwin_0f SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define bcaslot_0c SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define stlsheet_02 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define stlsheet_06 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define docsh6_02 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define documen3_41 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define documen3_42 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define documen3_43 SEG_SEGCLASS(STARTSLICE_SEG015,STARTSLICE_CODE) -#define inputwin_02 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define inputwin_16 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define inputwin_17 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define inputhdl_22 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define appmain9_01 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define tabvwsh4_1f SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define editsh_02 SEG_SEGCLASS(STARTSLICE_SEG016,STARTSLICE_CODE) -#define tabview_05 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define viewfunc_33 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define dbfunc_03 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define target_01 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define appmain3_0d SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define appmain3_0e SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define appmain3_0f SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define global2_19 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define global2_1b SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define editutil_1f SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define global2_22 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define drtxtob2_04 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define uiitems_38 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define global2_27 SEG_SEGCLASS(STARTSLICE_SEG017,STARTSLICE_CODE) -#define uiitems_1c SEG_SEGCLASS(STARTSLICE_SEG018,STARTSLICE_CODE) -#define tbxctl_01 SEG_SEGCLASS(STARTSLICE_SEG018,STARTSLICE_CODE) -#define editsh_01 SEG_SEGCLASS(STARTSLICE_SEG018,STARTSLICE_CODE) -#define appmain_37 SEG_SEGCLASS(STARTSLICE_SEG018,STARTSLICE_CODE) -#define global_93 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define global_94 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define attarray_07 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define attarray_08 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column_13 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define patattr_16 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define documen8_0b SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define scdebug_02 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define scdebug_01 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column2_0d SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define table5_08 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column2_0c SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column2_0b SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define document_3d SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define table2_39 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column3_01 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column3_03 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define documen7_07 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define cell_38 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define document_49 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column3_0c SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define cellform_01 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define table2_43 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define table3_75 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column3_18 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define cell_02 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define cell_03 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define drwlayer_0a SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define compiler_17 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define token_24 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define token_0d SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define token_53 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define compiler_1b SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define compiler_1d SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define table4_06 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column2_0a SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column_04 SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define column_0b SEG_SEGCLASS(CALLOPT_SEG000,CALLOPT_CODE) -#define output2_05 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview3_23 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview3_26 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview3_24 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define select_09 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview3_66 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define documen3_09 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define pivot2_0c SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabvwsh4_2f SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabvwsh4_30 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview3_25 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define drawview_0e SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define viewdata_1a SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define tabview2_09 SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define select_0c SEG_SEGCLASS(WORKSET_SEG000,WORKSET_CODE) -#define cellform_02 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell2_0c SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell_40 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define output2_06 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_2e SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell2_10 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell_13 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_61 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_63 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_68 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_2e SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_25 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_11 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_2b SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_04 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_7d SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_13 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_21 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr5_5c SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_ba SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_26 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_06 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_bd SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen3_32 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_12 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen9_06 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_01 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_1e SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_10 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_65 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_67 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_64 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_62 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen9_0b SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell_41 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen2_07 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen8_01 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define document_a6 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define docsh_07 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen2_11 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen8_02 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen8_08 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_05 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_14 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_0e SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_16 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_1a SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drawpage_01 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr5_5a SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_18 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell2_0d SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define documen7_0c SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define cell_24 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_52 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_5c SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_29 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_2a SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_0d SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define read_01 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drawvie3_08 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_08 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_0e SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_ba SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_36 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_43 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define document_44 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr1_5d SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr4_08 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define docsh2_07 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr5_5b SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define interpr5_58 SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define token_5f SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define drwlayer_1b SEG_SEGCLASS(SLICES_SEG000,SLICES_CODE) -#define tabview3_27 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview3_28 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview3_29 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_17 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabvwshd_02 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabvwsha_04 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview_17 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_23 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_30 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview_79 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define gridwin_19 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define gridwin_34 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define gridwin3_09 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define gridwin3_0a SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define olinewin_10 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview_16 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabvwshd_07 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview3_2c SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen2_13 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen9_0d SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define drwlayer_15 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh4_04 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_21 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_0e SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen2_24 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen3_3a SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh6_04 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewfunc_03 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview3_41 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table1_2c SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column2_2c SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_79 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table2_4a SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column_09 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define attarray_0f SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define attarray_1e SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define attarray_11 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_13 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_2c SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_22 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_2f SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_24 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen3_3f SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table1_2b SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define tabview3_3d SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define viewdata_18 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh3_0e SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh3_07 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define uiitems_10 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_af SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define uiitems_11 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table2_aa SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column_83 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh3_06 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define impex_11 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define prevwsh2_01 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_0b SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_07 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_10 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_b9 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_b4 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_b5 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define printfun_17 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define preview_03 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define editutil_08 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define prevwsh_0c SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define pagepar_01 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define pagepar_03 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh3_0b SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define docsh4_01 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen7_0d SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define dbfunc2_01 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define documen3_22 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define dbfunc4_01 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_3e SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table2_3a SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column3_0b SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column_18 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define patattr_05 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define undoblk3_25 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define attarray_06 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define table2_54 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define document_65 SEG_SEGCLASS(SLICES_SEG001,SLICES_CODE) -#define column2_2b SEG_SEGCLASS(SLICES_SEG002,SLICES_CODE) -#define tabview3_38 SEG_SEGCLASS(SLICES_SEG002,SLICES_CODE) -#define tabview4_01 SEG_SEGCLASS(SLICES_SEG002,SLICES_CODE) -#define drawview_06 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview_60 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_08 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fusel_04 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_0b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define detfunc_1c SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fusel_03 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin3_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin_0c SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_33 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin3_11 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_0a SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin_0d SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin3_02 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fusel_05 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_0c SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define global2_4d SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define cbuttonw_04 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define cbuttonw_05 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabvwsh4_2d SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_03 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fusel_06 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fupoor_08 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabvwsh2_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview2_11 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fupoor_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fudraw_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_13 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_31 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview5_05 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define select_08 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define select_1b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define select_0a SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin_2a SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin3_0f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_37 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawvie3_07 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_6b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fusel_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview5_08 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawvie3_03 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_0f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawutil_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_03 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_14 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_1b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define fupoor_0d SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define gridwin3_13 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define global_95 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawview_19 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawvie2_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabvwsh2_0c SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define markarr_04 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define markarr_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define column_06 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define table1_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_2f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewfun2_1f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_85 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_aa SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_1f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewfunc_0f SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_22 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewfun2_23 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define collect_0a SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewfunc_14 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define table2_37 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define column_39 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define column_1b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define document_38 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define documen3_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define documen3_14 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define undobase_09 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define attarray_20 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define impop_01 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define patattr_02 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define colrowst_12 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define excel_02 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview5_03 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define drawvie2_02 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_33 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewdata_20 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview_78 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define viewdata_49 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview_72 SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_3a SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_3b SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define tabview3_3e SEG_SEGCLASS(SLICES_SEG003,SLICES_CODE) -#define documen4_0c SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define bcaslot_11 SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define bcaslot_07 SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define tabview3_36 SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define gridwin_1a SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define output3_03 SEG_SEGCLASS(SLICES_SEG004,SLICES_CODE) -#define output_05 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define output_0f SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define gridwin3_16 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define patattr_12 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define attrib_01 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define table4_09 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_23 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_0b SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_0c SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_1b SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_0e SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_0d SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_1c SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_13 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_11 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_04 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_12 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_24 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define table4_0a SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define documen3_16 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define viewfun2_22 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_01 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define zforauto_01 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define table4_08 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_09 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_05 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_07 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0b SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_18 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_17 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_15 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_14 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_09 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_16 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_22 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_19 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_01 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_03 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_04 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_08 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_18 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define zforauto_08 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autofmt_0f SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_10 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_16 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0e SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_14 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_12 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_06 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0a SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0c SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0d SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_0f SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_11 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_13 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_15 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_17 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_19 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_1b SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_1d SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_1f SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_21 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define autoform_25 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define zforauto_04 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define zforauto_07 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define linelink_01 SEG_SEGCLASS(SLICES_SEG005,SLICES_CODE) -#define compiler_04 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define cell_10 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define compiler_29 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define compiler_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define compiler_06 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define token_0a SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define compiler_07 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define column3_14 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define table2_3f SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define document_45 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_05 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define token_5e SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define token_50 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define column2_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define compiler_26 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define token_21 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_11 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define refupdat_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define refupdat_07 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define column2_06 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define table2_6b SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_06 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define attarray_25 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define document_88 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_02 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_07 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_06 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_15 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rechead_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define docoptio_11 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define viewopti_15 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define pivot2_0d SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define collect_07 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define documen5_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define chartarr_18 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define viewopti_1b SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define attrib_3a SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define attrib_35 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define namebuff_16 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define token_51 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define excform_15 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define excform_11 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define colrowst_13 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define colrowst_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_26 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define frmbase_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define excform_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define tokstack_10 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_32 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define excform_13 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define tokstack_22 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define tokstack_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define excform_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_39 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_4d SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define cell_2d SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define collect_0f SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define collect_08 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define collect_0e SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_11 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_10 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_0b SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define rangenam_17 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define global2_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_09 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_05 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define collect_12 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbfunc_06 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define global2_01 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define dbcolect_1d SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_48 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_33 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define frmbase_04 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define namebuff_17 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define cell_3c SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define impop_38 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define attarray_03 SEG_SEGCLASS(SLICES_SEG006,SLICES_CODE) -#define document_30 SEG_SEGCLASS(SLICES_SEG007,SLICES_CODE) -#define table1_08 SEG_SEGCLASS(SLICES_SEG007,SLICES_CODE) -#define column_05 SEG_SEGCLASS(SLICES_SEG007,SLICES_CODE) -#define markarr_07 SEG_SEGCLASS(SLICES_SEG007,SLICES_CODE) -#define markarr_03 SEG_SEGCLASS(SLICES_SEG007,SLICES_CODE) -#define markarr_0e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_3a SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table1_0c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define markarr_0f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column2_09 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table1_0d SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column2_0e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_55 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_01 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_13 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define documen3_19 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define documen3_1a SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_62 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define markarr_10 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column_65 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_89 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column_07 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define markarr_0a SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table1_0b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_3b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_6e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_97 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column_71 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column_10 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column2_10 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_3c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfun2_15 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_34 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_3e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_98 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwsh8_03 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_0c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwsha_03 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwsh5_20 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwsh5_21 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwshd_01 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define viewfunc_3b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define patattr_0a SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_57 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table1_0f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_8d SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_a1 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drwlayer_0b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drwlayer_12 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_55 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_80 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_57 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_4f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define colrowst_04 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define impop_4c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define exctools_0b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define exctools_0e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define exctools_05 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define exctools_0c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define colrowst_15 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define colrowst_0f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_68 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_50 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define xfbuff_0d SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define fontbuff_0c SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define attrib_39 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define xfbuff_0b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define attrib_38 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drwlayer_03 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drwlayer_1d SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drawvie3_06 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drawsh2_05 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_a3 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_a4 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define documen8_0d SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define drwlayer_27 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_61 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define attrib_36 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tabvwsh7_02 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define tphf_01 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define stlsheet_08 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define styledlg_01 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define styledlg_02 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define styledlg_03 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define stlsheet_07 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define docpool_08 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define docpool_07 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_51 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define column2_0f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_58 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table2_5b SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_60 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define dbfunc_09 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define collect_03 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table5_01 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_5f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define printfun_08 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define document_5e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define table5_02 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define printfun_1e SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define printfun_1f SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define editutil_02 SEG_SEGCLASS(SLICES_SEG008,SLICES_CODE) -#define undobase_0a SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define table1_07 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define undocell_08 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define viewdata_15 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define documen3_2d SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define undocell_09 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define undocell_1a SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define uiitems_02 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define uiitems_03 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define uiitems_07 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define uiitems_04 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define undocell_07 SEG_SEGCLASS(SLICES_SEG009,SLICES_CODE) -#define document_96 SEG_SEGCLASS(SLICES_SEG010,SLICES_CODE) -#define global2_47 SEG_SEGCLASS(SLICES_SEG010,SLICES_CODE) -#define global2_4a SEG_SEGCLASS(SLICES_SEG010,SLICES_CODE) -#define global2_4b SEG_SEGCLASS(SLICES_SEG010,SLICES_CODE) -#define editsh_08 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define tabview2_02 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define tabview2_0a SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define document_2b SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define tabview2_08 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewutil_01 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewutil_02 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewutil_04 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewutil_05 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define select_14 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewdata_3e SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define hdrcont_06 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define colrowba_08 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define viewdata_21 SEG_SEGCLASS(SLICES_SEG011,SLICES_CODE) -#define tabview_15 SEG_SEGCLASS(SLICES_SEG012,SLICES_CODE) -#define documen3_03 SEG_SEGCLASS(SLICES_SEG012,SLICES_CODE) -#define dbdocfun_06 SEG_SEGCLASS(SLICES_SEG012,SLICES_CODE) -#define dbcolect_1b SEG_SEGCLASS(SLICES_SEG012,SLICES_CODE) -#define dbdocfun_04 SEG_SEGCLASS(SLICES_SEG012,SLICES_CODE) -#define table2_4c SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define documen8_0c SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define drawvie2_03 SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define undoblk3_27 SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define undoblk3_5c SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define undoblk3_3f SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define undoblk3_5f SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define column_6e SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define patattr_17 SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define cell2_0e SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define select_05 SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define select_06 SEG_SEGCLASS(SLICES_SEG013,SLICES_CODE) -#define tabview5_07 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define document_34 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr4_14 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_b7 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define dociter_0a SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define dociter_0b SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define dociter_0c SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_71 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr3_29 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_6b SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_6a SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define dociter_20 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr3_1f SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr3_1e SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr3_1d SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr3_31 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr5_b1 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr4_bb SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_6c SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_70 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_74 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_75 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_72 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr1_73 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr4_1d SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define token_0c SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr5_b3 SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define interpr5_6b SEG_SEGCLASS(SLICES_SEG014,SLICES_CODE) -#define column2_14 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_17 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_18 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_19 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_6c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_9d SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_9e SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define column2_07 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen2_08 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define column2_04 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define column2_15 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_04 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define document_89 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_05 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define docsh_0b SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define docoptio_0f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define attarray_24 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define column2_02 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_0a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_0b SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dbcolect_16 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define pivot2_0e SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rangenam_07 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_0c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define cell_0d SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define token_2a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define token_43 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define rechead_0e SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen8_03 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define viewopti_16 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define viewopti_1c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen8_04 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define attarray_16 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define attrib_74 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define editutil_16 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define patattr_14 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define cell2_1d SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define cell2_1f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define drwlayer_06 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen9_0c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_13 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_14 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_15 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_b0 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define document_8d SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table3_92 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define attrib_a3 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_0f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_10 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define interpr1_b9 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_0f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define tabvwshc_01 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_29 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appmain_07 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_21 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_31 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_31 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define anyrefdg_01 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_2f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_3a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_2e SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define interpr1_7f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define document_41 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_3c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define column3_11 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_0e SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dociter_11 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define interpr1_80 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appmain3_0a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define tabvwsh6_01 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dbcolect_18 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_34 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_3f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_42 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define msgpool_02 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define inputhdl_02 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appmain3_02 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define uiitems_3a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dbcolect_06 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen3_20 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table3_7c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_09 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_31 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_01 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_32 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_2f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dbcolect_0a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_37 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define dbcolect_0b SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_0a SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin_30 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define gridwin4_08 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define documen3_1d SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table3_79 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table3_7f SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define global2_16 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table2_77 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define table3_78 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appmain7_0c SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appoptio_03 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define printopt_03 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define interpr1_86 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define appmain2_03 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define patattr_07 SEG_SEGCLASS(SLICES_SEG015,SLICES_CODE) -#define tabview5_0d SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define tabcont_04 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define undoolk_01 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define undobase_01 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define documen9_03 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_03 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_55 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define tokstack_11 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_54 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define interpr4_19 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define interpr4_1a SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define interpr1_97 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_02 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_56 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_57 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_04 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_58 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_05 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_59 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define token_09 SEG_SEGCLASS(SLICES_SEG016,SLICES_CODE) -#define global_6a SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define token_27 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_25 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_24 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_23 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_22 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_21 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_20 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_3f SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_1e SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_4e SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define compiler_1c SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define cell_3d SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define column_81 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define table2_a8 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define document_a7 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define table2_ae SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define column_85 SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define cell_3f SEG_SEGCLASS(SLICES_SEG017,SLICES_CODE) -#define appmain_36 SEG_SEGCLASS(SLICES_SEG018,SLICES_CODE) -#define printfun_02 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_16 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_16 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_0c SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_19 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_17 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_0e SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_0b SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_18 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_0d SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_1a SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_18 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_15 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_14 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_13 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define prevwsh_1f SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define pagepar_07 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define pagepar_0a SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define pagepar_09 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define printfun_06 SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define printfun_2c SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define preview_1b SEG_SEGCLASS(SLICES_SEG019,SLICES_CODE) -#define printfun_29 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_11 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_04 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_0a SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_05 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_19 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_22 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_1c SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_1d SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define editutil_0a SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_09 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define output_04 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define output3_01 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_20 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_18 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define editutil_07 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define editutil_10 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define editutil_14 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define editutil_18 SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_0c SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define printfun_0d SEG_SEGCLASS(SLICES_SEG020,SLICES_CODE) -#define dbcolect_0c SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define pagepar_04 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define printfun_0f SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define document_93 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define table5_03 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define document_94 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define table5_04 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define olinewin_06 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define global_67 SEG_SEGCLASS(SLICES_SEG021,SLICES_CODE) -#define editutil_09 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define table5_07 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define document_97 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define printfun_12 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define printfun_25 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define printfun_27 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define colrowba_12 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define fusel_01 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define patattr_11 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define attarray_2c SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define column2_22 SEG_SEGCLASS(SLICES_SEG022,SLICES_CODE) -#define drawpage_02 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define drwlayer_0f SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define drwlayer_0c SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define drwlayer_0d SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define tabview3_2a SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define tabview3_40 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define token_69 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define documen7_01 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_0f SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_01 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_03 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_06 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_05 SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define bcaslot_0e SEG_SEGCLASS(SLICES_SEG023,SLICES_CODE) -#define dociter_16 SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define cell_23 SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define fupoor_02 SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define tabview3_2b SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define document_86 SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define table1_12 SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define column2_1d SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define column2_2d SEG_SEGCLASS(SLICES_SEG024,SLICES_CODE) -#define autoform_03 SEG_SEGCLASS(SLICES_SEG025,SLICES_CODE) -#define compiler_52 SEG_SEGCLASS(SLICES_SEG025,SLICES_CODE) -#define attarray_27 SEG_SEGCLASS(SLICES_SEG026,SLICES_CODE) -#define inputhdl_23 SEG_SEGCLASS(SLICES_SEG026,SLICES_CODE) -#define editsh_05 SEG_SEGCLASS(SLICES_SEG026,SLICES_CODE) -#define editsh_09 SEG_SEGCLASS(SLICES_SEG026,SLICES_CODE) -#define undoblk3_3d SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define fusel_02 SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define autofmt_02 SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define autofmt_0a SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define autofmt_1a SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define autofmt_1e SEG_SEGCLASS(SLICES_SEG027,SLICES_CODE) -#define fudraw_02 SEG_SEGCLASS(SLICES_SEG028,SLICES_CODE) -#define global_09 SEG_SEGCLASS(SLICES_SEG028,SLICES_CODE) -#define table4_07 SEG_SEGCLASS(SLICES_SEG028,SLICES_CODE) -#define autoform_26 SEG_SEGCLASS(SLICES_SEG028,SLICES_CODE) -#define documen3_15 SEG_SEGCLASS(SLICES_SEG028,SLICES_CODE) -#define document_52 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define table2_8e SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define document_9c SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define table2_a0 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define documen7_09 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define table5_05 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define column2_26 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define cell_35 SEG_SEGCLASS(SLICES_SEG029,SLICES_CODE) -#define autoform_08 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define autoform_1a SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define autoform_1c SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define autoform_1e SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define autoform_20 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define viewdata_3c SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define undodat_33 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define undodat_4d SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define document_2d SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define docsh_08 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_04 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_03 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_05 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_06 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_07 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define imoptdlg_02 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define global_98 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define document_4b SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define table2_46 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define column_4f SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define documen3_1c SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define table3_76 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define table2_9f SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_02 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_06 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_16 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_20 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_10 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define impex_18 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define documen7_13 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define table2_a7 SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define column3_1b SEG_SEGCLASS(SLICES_SEG030,SLICES_CODE) -#define drawview_04 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define column3_19 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define table2_44 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define drwlayer_02 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define drwlayer_1f SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define interpr1_42 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define table1_0a SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define column_08 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define markarr_0d SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define tabvwshd_04 SEG_SEGCLASS(SLICES_SEG031,SLICES_CODE) -#define prevwsh_0f SEG_SEGCLASS(SLICES_SEG032,SLICES_CODE) -#define editsh_07 SEG_SEGCLASS(SLICES_SEG032,SLICES_CODE) -#define printfun_2b SEG_SEGCLASS(SLICES_SEG032,SLICES_CODE) -#define docsh6_09 SEG_SEGCLASS(SLICES_SEG032,SLICES_CODE) -#define gridwin4_07 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define attrib_73 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define attrib_a5 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define attrib_a4 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define editutil_0d SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define editutil_1d SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define editutil_11 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define editutil_15 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define editutil_19 SEG_SEGCLASS(SLICES_SEG033,SLICES_CODE) -#define document_a3 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define column3_09 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define table2_34 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define table4_13 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define column_17 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define column3_0f SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define table4_05 SEG_SEGCLASS(SLICES_SEG034,SLICES_CODE) -#define column3_1e SEG_SEGCLASS(SLICES_SEG035,SLICES_CODE) -#define rechead_08 SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define cell_0c SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define rechead_0d SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define token_28 SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define token_41 SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define token_29 SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define token_42 SEG_SEGCLASS(SLICES_SEG036,SLICES_CODE) -#define token_60 SEG_SEGCLASS(SLICES_SEG037,SLICES_CODE) -#define undoblk3_31 SEG_SEGCLASS(SLICES_SEG037,SLICES_CODE) -#define filldlg_01 SEG_SEGCLASS(SLICES_SEG037,SLICES_CODE) -#define filldlg_02 SEG_SEGCLASS(SLICES_SEG037,SLICES_CODE) -#define filldlg_03 SEG_SEGCLASS(SLICES_SEG037,SLICES_CODE) -#define filldlg_04 SEG_SEGCLASS(SLICES_SEG038,SLICES_CODE) -#define filldlg_06 SEG_SEGCLASS(SLICES_SEG038,SLICES_CODE) -#define filldlg_07 SEG_SEGCLASS(SLICES_SEG038,SLICES_CODE) -#define filldlg_05 SEG_SEGCLASS(SLICES_SEG038,SLICES_CODE) -#define filldlg_08 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define document_0b SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define document_11 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define table1_05 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define document_4c SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define table2_47 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define column_50 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define table2_a9 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define column_82 SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define documen7_0e SEG_SEGCLASS(SLICES_SEG039,SLICES_CODE) -#define table1_25 SEG_SEGCLASS(SLICES_SEG040,SLICES_CODE) -#define column2_18 SEG_SEGCLASS(SLICES_SEG040,SLICES_CODE) -#define interpr3_05 SEG_SEGCLASS(SLICES_SEG040,SLICES_CODE) -#define interpr3_0d SEG_SEGCLASS(SLICES_SEG040,SLICES_CODE) -#define interpr3_12 SEG_SEGCLASS(SLICES_SEG040,SLICES_CODE) -#define interpr3_47 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_4e SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_50 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_4d SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_51 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_54 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_19 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_52 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_15 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_4f SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_55 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_4a SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_48 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_53 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_14 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_49 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_1c SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr5_56 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr5_11 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_01 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_07 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr5_b4 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_0f SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr5_b5 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_46 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_0a SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_35 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_39 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_3a SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_3b SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_3d SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_05 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_02 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_06 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define scmatrix_04 SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr3_4c SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define interpr4_1f SEG_SEGCLASS(SLICES_SEG041,SLICES_CODE) -#define undoblk3_33 SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define undoblk3_5d SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define patattr_06 SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define cell_37 SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define bcaslot_02 SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define tabview_14 SEG_SEGCLASS(SLICES_SEG042,SLICES_CODE) -#define docoptio_02 SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define viewopti_02 SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define impop_2c SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define impop_42 SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define documen3_3b SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define exctools_02 SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define rangenam_1a SEG_SEGCLASS(SLICES_SEG043,SLICES_CODE) -#define rangenam_1b SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define cell2_1c SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define cell2_1e SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define documen9_02 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define prevwsh_03 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define prevwsh_06 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define prevwsh_07 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define preview_02 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define preview_01 SEG_SEGCLASS(SLICES_SEG044,SLICES_CODE) -#define olinetab_0b SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define table2_06 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define olinetab_0e SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define olinetab_22 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define compiler_43 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define compiler_44 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define compiler_54 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_02 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_03 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_09 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_01 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_13 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_16 SEG_SEGCLASS(SLICES_SEG045,SLICES_CODE) -#define interpr3_0a SEG_SEGCLASS(SLICES_SEG046,SLICES_CODE) -#define interpr3_0b SEG_SEGCLASS(SLICES_SEG046,SLICES_CODE) -#define interpr3_0f SEG_SEGCLASS(SLICES_SEG047,SLICES_CODE) -#define interpr3_17 SEG_SEGCLASS(SLICES_SEG047,SLICES_CODE) -#define interpr3_1a SEG_SEGCLASS(SLICES_SEG047,SLICES_CODE) -#define interpr3_20 SEG_SEGCLASS(SLICES_SEG047,SLICES_CODE) -#define interpr3_27 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define interpr3_32 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define interpr3_34 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define interpr3_45 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define interpr3_36 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define interpr3_33 SEG_SEGCLASS(SLICES_SEG048,SLICES_CODE) -#define impop_02 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define fontbuff_02 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define fontbuff_03 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define fontbuff_07 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define xfbuff_02 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define xfbuff_0a SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define tokstack_03 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define tokstack_0a SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define frmbase_02 SEG_SEGCLASS(SLICES_SEG049,SLICES_CODE) -#define impop_0b SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_51 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_49 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_1f SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define fontbuff_09 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_50 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_06 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_09 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_05 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_54 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_01 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_2a SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define namebuff_07 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_4a SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_45 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_02 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_0b SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define vfbuff_03 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define vfbuff_05 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define vfbuff_09 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_0a SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define namebuff_01 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_0c SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define spstring_08 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_56 SEG_SEGCLASS(SLICES_SEG050,SLICES_CODE) -#define impop_14 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_1c SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_1d SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_20 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_23 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_27 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_28 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_29 SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_2b SEG_SEGCLASS(SLICES_SEG051,SLICES_CODE) -#define impop_31 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define impop_36 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define xfbuff_01 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define xfbuff_04 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define xfbuff_07 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define vfbuff_07 SEG_SEGCLASS(SLICES_SEG052,SLICES_CODE) -#define impop_3b SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define exctools_08 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define impop_40 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define impop_47 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define impop_4e SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define impop_53 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define colrowst_01 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define colrowst_03 SEG_SEGCLASS(SLICES_SEG053,SLICES_CODE) -#define colrowst_02 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define colrowst_0b SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define colrowst_0d SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define colrowst_14 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define colrowst_10 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define colrowst_11 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_01 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_04 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_06 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_10 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_11 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_14 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_15 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define exctools_16 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define tokstack_02 SEG_SEGCLASS(SLICES_SEG054,SLICES_CODE) -#define tokstack_15 SEG_SEGCLASS(SLICES_SEG055,SLICES_CODE) -#define excform_0a SEG_SEGCLASS(SLICES_SEG055,SLICES_CODE) -#define tokstack_19 SEG_SEGCLASS(SLICES_SEG055,SLICES_CODE) -#define tokstack_1a SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define tokstack_1c SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define tokstack_1d SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define namebuff_03 SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define namebuff_12 SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define namebuff_18 SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define excform_04 SEG_SEGCLASS(SLICES_SEG056,SLICES_CODE) -#define excform_0b SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define excform_0c SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define excform_0d SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define vfbuff_01 SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define fontbuff_01 SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define fontbuff_05 SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define fontbuff_0d SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define xfbuff_09 SEG_SEGCLASS(SLICES_SEG057,SLICES_CODE) -#define frmbase_01 SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dbcolect_0d SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dbcolect_10 SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define documen3_06 SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dociter_1a SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dociter_1b SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dociter_1c SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define dociter_1d SEG_SEGCLASS(SLICES_SEG058,SLICES_CODE) -#define compiler_53 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define compiler_08 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define undoblk2_2d SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define undoblk2_31 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define column3_13 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define table2_3e SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define interpr1_6d SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define interpr2_10 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define interpr2_26 SEG_SEGCLASS(SLICES_SEG059,SLICES_CODE) -#define tokstack_1e SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define dbcolect_19 SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_46 SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_48 SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_4b SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_4c SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_4f SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_56 SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr1_58 SEG_SEGCLASS(SLICES_SEG060,SLICES_CODE) -#define interpr2_13 SEG_SEGCLASS(SLICES_SEG061,SLICES_CODE) -#define interpr2_17 SEG_SEGCLASS(SLICES_SEG061,SLICES_CODE) -#define interpr2_25 SEG_SEGCLASS(SLICES_SEG061,SLICES_CODE) -#define interpr2_29 SEG_SEGCLASS(SLICES_SEG061,SLICES_CODE) -#define interpr2_3e SEG_SEGCLASS(SLICES_SEG062,SLICES_CODE) -#define interpr2_3f SEG_SEGCLASS(SLICES_SEG062,SLICES_CODE) -#define interpr2_41 SEG_SEGCLASS(SLICES_SEG062,SLICES_CODE) -#define interpr2_42 SEG_SEGCLASS(SLICES_SEG062,SLICES_CODE) -#define interpr2_57 SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define interpr5_76 SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define appmain_02 SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define docsh_09 SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define docsh_0d SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define docsh_3a SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define appmain9_02 SEG_SEGCLASS(SLICES_SEG063,SLICES_CODE) -#define docsh4_05 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define printfun_01 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define printfun_2a SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define global_10 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define compiler_02 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define interpr4_c2 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define callform_09 SEG_SEGCLASS(SLICES_SEG064,SLICES_CODE) -#define documen2_09 SEG_SEGCLASS(SLICES_SEG065,SLICES_CODE) -#define dociter_12 SEG_SEGCLASS(SLICES_SEG065,SLICES_CODE) -#define adiasync_03 SEG_SEGCLASS(SLICES_SEG065,SLICES_CODE) -#define interpr2_38 SEG_SEGCLASS(SLICES_SEG065,SLICES_CODE) -#define interpr2_39 SEG_SEGCLASS(SLICES_SEG065,SLICES_CODE) -#define interpr2_3a SEG_SEGCLASS(SLICES_SEG066,SLICES_CODE) -#define interpr2_43 SEG_SEGCLASS(SLICES_SEG066,SLICES_CODE) -#define interpr3_2a SEG_SEGCLASS(SLICES_SEG067,SLICES_CODE) -#define impop_25 SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define exctools_0d SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define colrowst_07 SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define tabvwsh4_0c SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define prevwsh_09 SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define prevwsh_1c SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define hdrcont_07 SEG_SEGCLASS(SLICES_SEG068,SLICES_CODE) -#define tphf_02 SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_04 SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_0d SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_03 SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_0c SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_06 SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_07 SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define tphf_0a SEG_SEGCLASS(SLICES_SEG069,SLICES_CODE) -#define fupoor_05 SEG_SEGCLASS(SLICES_SEG070,SLICES_CODE) -#define cell2_20 SEG_SEGCLASS(SLICES_SEG070,SLICES_CODE) -#define dbcolect_03 SEG_SEGCLASS(SLICES_SEG070,SLICES_CODE) -#define dbcolect_1f SEG_SEGCLASS(SLICES_SEG070,SLICES_CODE) -#define collect_14 SEG_SEGCLASS(SLICES_SEG070,SLICES_CODE) -#define interpr4_15 SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define compiler_0a SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define interpr1_6e SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define interpr1_6f SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define table2_af SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define column2_17 SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define table1_11 SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define document_18 SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define column2_1e SEG_SEGCLASS(SLICES_SEG071,SLICES_CODE) -#define scmatrix_09 SEG_SEGCLASS(SLICES_SEG072,SLICES_CODE) -#define interpr3_04 SEG_SEGCLASS(SLICES_SEG072,SLICES_CODE) -#define interpr3_0c SEG_SEGCLASS(SLICES_SEG072,SLICES_CODE) -#define undodat_31 SEG_SEGCLASS(SLICES_SEG072,SLICES_CODE) -#define undodat_3f SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define undodat_54 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define attrdlg_01 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define attrdlg_02 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define attrdlg_03 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define drawview_18 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define undoblk3_26 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define gridwin_24 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define fupoor_03 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define fupoor_04 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define fudraw_07 SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define documen3_1e SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define table3_7a SEG_SEGCLASS(SLICES_SEG073,SLICES_CODE) -#define document_35 SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define document_76 SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define table2_4d SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define column_0c SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define attarray_0c SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define attarray_0b SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define attarray_0a SEG_SEGCLASS(SLICES_SEG074,SLICES_CODE) -#define global2_02 SEG_SEGCLASS(SLICES_SEG075,SLICES_CODE) -#define dbcolect_12 SEG_SEGCLASS(SLICES_SEG075,SLICES_CODE) -#define dbcolect_13 SEG_SEGCLASS(SLICES_SEG075,SLICES_CODE) -#define interpr4_2d SEG_SEGCLASS(SLICES_SEG076,SLICES_CODE) -#define interpr3_23 SEG_SEGCLASS(SLICES_SEG076,SLICES_CODE) -#define interpr3_18 SEG_SEGCLASS(SLICES_SEG076,SLICES_CODE) -#define interpr3_22 SEG_SEGCLASS(SLICES_SEG076,SLICES_CODE) -#define interpr3_26 SEG_SEGCLASS(SLICES_SEG077,SLICES_CODE) -#define interpr3_2f SEG_SEGCLASS(SLICES_SEG077,SLICES_CODE) -#define interpr3_30 SEG_SEGCLASS(SLICES_SEG078,SLICES_CODE) -#define interpr3_4b SEG_SEGCLASS(SLICES_SEG079,SLICES_CODE) -#define impop_37 SEG_SEGCLASS(SLICES_SEG080,SLICES_CODE) -#define colrowst_0e SEG_SEGCLASS(SLICES_SEG080,SLICES_CODE) -#define excform_0e SEG_SEGCLASS(SLICES_SEG080,SLICES_CODE) -#define excform_0f SEG_SEGCLASS(SLICES_SEG080,SLICES_CODE) -#define appmain_08 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputwin_2a SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputwin_05 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define appmain_0f SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputhdl_13 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputhdl_0a SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputwin_03 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define viewfun2_8a SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define document_4a SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define tabview4_04 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define tabview4_03 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define appmain3_06 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputhdl_0e SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define viewutil_03 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define viewfun2_88 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define inputwin_13 SEG_SEGCLASS(SELDOM_SEG000,SELDOM_CODE) -#define appmain_0e SEG_SEGCLASS(SELDOM_SEG001,SELDOM_CODE) -#define inputhdl_12 SEG_SEGCLASS(SELDOM_SEG001,SELDOM_CODE) -#define docsh_05 SEG_SEGCLASS(SELDOM_SEG001,SELDOM_CODE) -#define appmain6_04 SEG_SEGCLASS(SELDOM_SEG001,SELDOM_CODE) -#define appmain7_07 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define global_0c SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define table4_01 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define table4_03 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define column_16 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_09 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define collect_09 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_01 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_13 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_05 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_0a SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_04 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define userlist_06 SEG_SEGCLASS(SELDOM_SEG002,SELDOM_CODE) -#define inputwin_1f SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define inputhdl_2a SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define docsh4_0c SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define docsh4_10 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphf_05 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_02 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_05 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_02 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_04 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_01 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_05 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_08 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_07 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_0e SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_06 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_0c SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_0d SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_0b SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tptable_0a SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_06 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_0c SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_09 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_23 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_15 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_01 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_08 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_16 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_12 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_19 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_0a SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_26 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define prevwsh_20 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_17 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_0b SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_10 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_11 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_13 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_14 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_24 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tphfedit_25 SEG_SEGCLASS(SELDOM_SEG003,SELDOM_CODE) -#define tabview5_0e SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define fumark_04 SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define fumark_0b SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define tabview_6a SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define gridwin_27 SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define fumark_09 SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define viewdata_53 SEG_SEGCLASS(SELDOM_SEG004,SELDOM_CODE) -#define uiitems_17 SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define uiitems_1a SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define global2_08 SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define uiitems_24 SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define uiitems_27 SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define global2_1a SEG_SEGCLASS(SELDOM_SEG005,SELDOM_CODE) -#define uiitems_39 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define uiitems_3d SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define global2_28 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define global2_33 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define global2_35 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define global2_34 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define global2_32 SEG_SEGCLASS(SELDOM_SEG006,SELDOM_CODE) -#define tabvwshc_02 SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define tabview_08 SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define tabview2_0c SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define tabview_6e SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define viewdata_51 SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define drawsh2_06 SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define gridwin_35 SEG_SEGCLASS(SELDOM_SEG007,SELDOM_CODE) -#define tabview3_5d SEG_SEGCLASS(SELDOM_SEG008,SELDOM_CODE) -#define tabview3_5e SEG_SEGCLASS(SELDOM_SEG008,SELDOM_CODE) -#define dbfunc_0d SEG_SEGCLASS(SELDOM_SEG008,SELDOM_CODE) -#define tabview4_09 SEG_SEGCLASS(SELDOM_SEG008,SELDOM_CODE) -#define colrowba_13 SEG_SEGCLASS(SELDOM_SEG008,SELDOM_CODE) -#define docfunc_01 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuconrec_05 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuconstr_05 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuconstr_09 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuins1_01 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuins1_09 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define tabvwshb_03 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define tabview5_09 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuins1_02 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define fuins1_0a SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define tabview_68 SEG_SEGCLASS(SELDOM_SEG009,SELDOM_CODE) -#define preview_06 SEG_SEGCLASS(SELDOM_SEG010,SELDOM_CODE) -#define gridwin_02 SEG_SEGCLASS(SELDOM_SEG010,SELDOM_CODE) -#define colrowba_06 SEG_SEGCLASS(SELDOM_SEG010,SELDOM_CODE) -#define undoblk2_2b SEG_SEGCLASS(SELDOM_SEG010,SELDOM_CODE) -#define output_11 SEG_SEGCLASS(SELDOM_SEG010,SELDOM_CODE) -#define undoolk_03 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define undoblk2_2c SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define undobase_02 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define tbxalign_01 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define imoptdlg_0a SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define drawsh_09 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define fusel_08 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define fuconrec_03 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define fuconstr_03 SEG_SEGCLASS(SELDOM_SEG011,SELDOM_CODE) -#define fuconrec_04 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define fuconstr_04 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_01 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_03 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_06 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define fieldwnd_03 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_07 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define fieldwnd_04 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define fieldwnd_11 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_14 SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define pvlaydlg_1d SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define fieldwnd_0b SEG_SEGCLASS(SELDOM_SEG012,SELDOM_CODE) -#define tphf_08 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define tphf_09 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define tbxdraw_04 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define fudraw_06 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define fuconstr_07 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define fuconrec_07 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define fusel_07 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define fieldwnd_01 SEG_SEGCLASS(SELDOM_SEG013,SELDOM_CODE) -#define attrib_3b SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define documen7_0b SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define documen7_11 SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define documen7_10 SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define documen7_0f SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define cell_3a SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define documen7_12 SEG_SEGCLASS(SELDOM_SEG014,SELDOM_CODE) -#define docpool_06 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define cell_0a SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define cell_12 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_05 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_15 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_14 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_0b SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_0c SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define cell_26 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_0d SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_0e SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define compiler_13 SEG_SEGCLASS(SELDOM_SEG015,SELDOM_CODE) -#define cell2_21 SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define rangeutl_07 SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define autoform_27 SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define autoform_2c SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define autoform_2e SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define zforauto_05 SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define autoform_2f SEG_SEGCLASS(SELDOM_SEG016,SELDOM_CODE) -#define autoform_29 SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define autoform_2b SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define drwlayer_08 SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define drwlayer_09 SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define interpr1_64 SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define interpr1_a3 SEG_SEGCLASS(SELDOM_SEG017,SELDOM_CODE) -#define table4_04 SEG_SEGCLASS(SELDOM_SEG018,SELDOM_CODE) -#define subtotal_08 SEG_SEGCLASS(SELDOM_SEG018,SELDOM_CODE) -#define subtotal_09 SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define impop_0d SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define spstring_07 SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define impop_0e SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define namebuff_0f SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define rangenam_02 SEG_SEGCLASS(SELDOM_SEG019,SELDOM_CODE) -#define impop_3a SEG_SEGCLASS(SELDOM_SEG020,SELDOM_CODE) -#define impop_4f SEG_SEGCLASS(SELDOM_SEG020,SELDOM_CODE) -#define excform_10 SEG_SEGCLASS(SELDOM_SEG020,SELDOM_CODE) -#define tabvwsh8_02 SEG_SEGCLASS(SELDOM_SEG021,SELDOM_CODE) -#define tabvwsh8_06 SEG_SEGCLASS(SELDOM_SEG021,SELDOM_CODE) -#define tabvwshf_01 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define document_0d SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define document_0c SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define document_0e SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define viewfun2_27 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define viewdata_09 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define docsh3_14 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define tabcont_0c SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define strindlg_01 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define strindlg_02 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define strindlg_03 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define undotab_01 SEG_SEGCLASS(SELDOM_SEG022,SELDOM_CODE) -#define uiitems_1e SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define uiitems_21 SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define filtdlg_0b SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define filtdlg_04 SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define anyrefdg_04 SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define filtdlg_0a SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define uiitems_1d SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define global2_12 SEG_SEGCLASS(SELDOM_SEG023,SELDOM_CODE) -#define tabview_64 SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define viewfunc_37 SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define document_6f SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define table2_8c SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define column_68 SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define attarray_28 SEG_SEGCLASS(SELDOM_SEG024,SELDOM_CODE) -#define viewfunc_40 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define undotab_02 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define undotab_03 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define undotab_1f SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define tbxctl_03 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define tbxctl_04 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define tbxdraw_01 SEG_SEGCLASS(SELDOM_SEG025,SELDOM_CODE) -#define fumark_07 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define fumark_08 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define fuconrec_01 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define fuconrec_02 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define fuconrec_08 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define fuconstr_08 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define drawsh2_01 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_08 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_03 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_01 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_0e SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_07 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define filtdlg_09 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define foptmgr_01 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define foptmgr_03 SEG_SEGCLASS(SELDOM_SEG026,SELDOM_CODE) -#define tbxdraw_02 SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define tbxdraw_03 SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define fuconstr_01 SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define fuconstr_02 SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define fuconstr_0a SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define rangenam_08 SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define cell_3b SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define interpr4_1b SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define interpr1_8e SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define interpr1_8f SEG_SEGCLASS(SELDOM_SEG027,SELDOM_CODE) -#define interpr4_27 SEG_SEGCLASS(SELDOM_SEG028,SELDOM_CODE) -#define interpr1_38 SEG_SEGCLASS(SELDOM_SEG028,SELDOM_CODE) -#define interpr1_39 SEG_SEGCLASS(SELDOM_SEG028,SELDOM_CODE) -#define interpr1_3c SEG_SEGCLASS(SELDOM_SEG028,SELDOM_CODE) -#define interpr1_3d SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_3e SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_81 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_82 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_83 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_87 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_88 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_b8 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_89 SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_8a SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr1_8b SEG_SEGCLASS(SELDOM_SEG029,SELDOM_CODE) -#define interpr3_2b SEG_SEGCLASS(SELDOM_SEG030,SELDOM_CODE) -#define interpr3_37 SEG_SEGCLASS(SELDOM_SEG030,SELDOM_CODE) -#define interpr3_3c SEG_SEGCLASS(SELDOM_SEG030,SELDOM_CODE) -#define interpr3_3e SEG_SEGCLASS(SELDOM_SEG031,SELDOM_CODE) -#define interpr3_3f SEG_SEGCLASS(SELDOM_SEG031,SELDOM_CODE) -#define interpr3_56 SEG_SEGCLASS(SELDOM_SEG032,SELDOM_CODE) -#define impop_15 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define impop_34 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define tokstack_0b SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define tabvwsh4_0a SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define tabvwsh4_22 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define dbdocfun_01 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define dbdocfun_02 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define document_1d SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define dbcolect_07 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define documen4_02 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define documen2_10 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define table2_91 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define column3_02 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define documen4_0a SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define table4_12 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define column2_28 SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define documen4_0b SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define table1_2d SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define undodat_3d SEG_SEGCLASS(SELDOM_SEG033,SELDOM_CODE) -#define viewdata_2a SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define undodat_32 SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define undodat_3e SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define dbfunc_0c SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define attrib_31 SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define document_9b SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define table2_9c SEG_SEGCLASS(SELDOM_SEG034,SELDOM_CODE) -#define undoblk3_3e SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define undocell_01 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define undocell_02 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define undocell_03 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define undocell_19 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define tabsplit_03 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define select_12 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define select_15 SEG_SEGCLASS(SELDOM_SEG035,SELDOM_CODE) -#define select_17 SEG_SEGCLASS(SELDOM_SEG036,SELDOM_CODE) -#define gridwin4_04 SEG_SEGCLASS(SELDOM_SEG036,SELDOM_CODE) -#define hdrcont_0c SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define fumark_01 SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define fumark_03 SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define drawsh2_02 SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define filtdlg_02 SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define foptmgr_02 SEG_SEGCLASS(SELDOM_SEG037,SELDOM_CODE) -#define filtdlg_11 SEG_SEGCLASS(SELDOM_SEG038,SELDOM_CODE) -#define filtdlg_12 SEG_SEGCLASS(SELDOM_SEG038,SELDOM_CODE) -#define anyrefdg_02 SEG_SEGCLASS(SELDOM_SEG038,SELDOM_CODE) -#define global_02 SEG_SEGCLASS(SELDOM_SEG038,SELDOM_CODE) -#define interpr1_8d SEG_SEGCLASS(SELDOM_SEG038,SELDOM_CODE) -#define attrib_3c SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define attrib_3d SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define attrib_79 SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define attrib_80 SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define attrib_98 SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define documen8_0e SEG_SEGCLASS(SELDOM_SEG039,SELDOM_CODE) -#define document_40 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define impop_0f SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define global2_42 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define global2_46 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define table2_8a SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define column3_10 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define cell_04 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define global2_44 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define global2_45 SEG_SEGCLASS(SELDOM_SEG040,SELDOM_CODE) -#define document_5a SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define table2_5d SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define document_5b SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define table2_5e SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define document_66 SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define table2_4f SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define column_12 SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define document_9f SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define excobj_01 SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define document_a0 SEG_SEGCLASS(SELDOM_SEG041,SELDOM_CODE) -#define document_b6 SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define table1_2e SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define column3_04 SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define patattr_03 SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define global2_48 SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define interpr1_8c SEG_SEGCLASS(SELDOM_SEG042,SELDOM_CODE) -#define rangenam_09 SEG_SEGCLASS(SELDOM_SEG043,SELDOM_CODE) -#define dbcolect_02 SEG_SEGCLASS(SELDOM_SEG043,SELDOM_CODE) -#define drwlayer_07 SEG_SEGCLASS(SELDOM_SEG044,SELDOM_CODE) -#define interpr4_1e SEG_SEGCLASS(SELDOM_SEG044,SELDOM_CODE) -#define interpr1_7b SEG_SEGCLASS(SELDOM_SEG044,SELDOM_CODE) -#define interpr1_2f SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_3f SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_40 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_41 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_44 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_45 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_47 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_49 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_4a SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_4d SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_4e SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_50 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_51 SEG_SEGCLASS(SELDOM_SEG045,SELDOM_CODE) -#define interpr1_52 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_53 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_54 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_55 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_60 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_61 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_62 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_63 SEG_SEGCLASS(SELDOM_SEG046,SELDOM_CODE) -#define interpr1_65 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_66 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_67 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_68 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_69 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_76 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_77 SEG_SEGCLASS(SELDOM_SEG047,SELDOM_CODE) -#define interpr1_78 SEG_SEGCLASS(SELDOM_SEG048,SELDOM_CODE) -#define interpr1_79 SEG_SEGCLASS(SELDOM_SEG048,SELDOM_CODE) -#define interpr1_7a SEG_SEGCLASS(SELDOM_SEG049,SELDOM_CODE) -#define interpr1_7c SEG_SEGCLASS(SELDOM_SEG050,SELDOM_CODE) -#define interpr1_7e SEG_SEGCLASS(SELDOM_SEG051,SELDOM_CODE) -#define interpr1_91 SEG_SEGCLASS(SELDOM_SEG051,SELDOM_CODE) -#define interpr1_92 SEG_SEGCLASS(SELDOM_SEG051,SELDOM_CODE) -#define interpr1_93 SEG_SEGCLASS(SELDOM_SEG052,SELDOM_CODE) -#define interpr1_94 SEG_SEGCLASS(SELDOM_SEG052,SELDOM_CODE) -#define interpr1_95 SEG_SEGCLASS(SELDOM_SEG053,SELDOM_CODE) -#define interpr1_96 SEG_SEGCLASS(SELDOM_SEG053,SELDOM_CODE) -#define interpr1_98 SEG_SEGCLASS(SELDOM_SEG053,SELDOM_CODE) -#define interpr1_99 SEG_SEGCLASS(SELDOM_SEG053,SELDOM_CODE) -#define interpr1_9a SEG_SEGCLASS(SELDOM_SEG054,SELDOM_CODE) -#define interpr1_9b SEG_SEGCLASS(SELDOM_SEG054,SELDOM_CODE) -#define interpr1_9c SEG_SEGCLASS(SELDOM_SEG054,SELDOM_CODE) -#define interpr1_9d SEG_SEGCLASS(SELDOM_SEG054,SELDOM_CODE) -#define interpr1_9e SEG_SEGCLASS(SELDOM_SEG055,SELDOM_CODE) -#define interpr1_a4 SEG_SEGCLASS(SELDOM_SEG055,SELDOM_CODE) -#define interpr1_a5 SEG_SEGCLASS(SELDOM_SEG056,SELDOM_CODE) -#define interpr1_a9 SEG_SEGCLASS(SELDOM_SEG056,SELDOM_CODE) -#define interpr1_b6 SEG_SEGCLASS(SELDOM_SEG056,SELDOM_CODE) -#define interpr1_aa SEG_SEGCLASS(SELDOM_SEG056,SELDOM_CODE) -#define interpr1_af SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define table2_7e SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_08 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_09 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_12 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_14 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_15 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_16 SEG_SEGCLASS(SELDOM_SEG057,SELDOM_CODE) -#define interpr2_18 SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_1b SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_1c SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_1d SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_b4 SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_71 SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_4e SEG_SEGCLASS(SELDOM_SEG058,SELDOM_CODE) -#define interpr2_21 SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_22 SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_23 SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_27 SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_28 SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_3c SEG_SEGCLASS(SELDOM_SEG059,SELDOM_CODE) -#define interpr2_40 SEG_SEGCLASS(SELDOM_SEG060,SELDOM_CODE) -#define interpr2_49 SEG_SEGCLASS(SELDOM_SEG060,SELDOM_CODE) -#define interpr2_4a SEG_SEGCLASS(SELDOM_SEG061,SELDOM_CODE) -#define interpr2_4b SEG_SEGCLASS(SELDOM_SEG061,SELDOM_CODE) -#define interpr2_4c SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_4d SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_70 SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_72 SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_73 SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_74 SEG_SEGCLASS(SELDOM_SEG062,SELDOM_CODE) -#define interpr2_75 SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr2_af SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr2_b3 SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr5_4f SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr5_50 SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr5_64 SEG_SEGCLASS(SELDOM_SEG063,SELDOM_CODE) -#define interpr5_52 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_b0 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_66 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_67 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_68 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_69 SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_6a SEG_SEGCLASS(SELDOM_SEG064,SELDOM_CODE) -#define interpr5_5f SEG_SEGCLASS(SELDOM_SEG065,SELDOM_CODE) -#define interpr5_78 SEG_SEGCLASS(SELDOM_SEG065,SELDOM_CODE) -#define interpr5_60 SEG_SEGCLASS(SELDOM_SEG065,SELDOM_CODE) -#define interpr5_6c SEG_SEGCLASS(SELDOM_SEG065,SELDOM_CODE) -#define interpr5_6e SEG_SEGCLASS(SELDOM_SEG066,SELDOM_CODE) -#define interpr5_6f SEG_SEGCLASS(SELDOM_SEG066,SELDOM_CODE) -#define interpr3_08 SEG_SEGCLASS(SELDOM_SEG066,SELDOM_CODE) -#define interpr3_0e SEG_SEGCLASS(SELDOM_SEG067,SELDOM_CODE) -#define interpr3_21 SEG_SEGCLASS(SELDOM_SEG067,SELDOM_CODE) -#define interpr3_24 SEG_SEGCLASS(SELDOM_SEG068,SELDOM_CODE) -#define interpr3_25 SEG_SEGCLASS(SELDOM_SEG069,SELDOM_CODE) -#define interpr3_2c SEG_SEGCLASS(SELDOM_SEG069,SELDOM_CODE) -#define interpr3_2d SEG_SEGCLASS(SELDOM_SEG069,SELDOM_CODE) -#define interpr3_38 SEG_SEGCLASS(SELDOM_SEG070,SELDOM_CODE) -#define interpr3_44 SEG_SEGCLASS(SELDOM_SEG070,SELDOM_CODE) -#define impop_30 SEG_SEGCLASS(SELDOM_SEG071,SELDOM_CODE) -#define colrowst_05 SEG_SEGCLASS(SELDOM_SEG071,SELDOM_CODE) -#define tokstack_0c SEG_SEGCLASS(SELDOM_SEG071,SELDOM_CODE) -#define tokstack_0f SEG_SEGCLASS(SELDOM_SEG071,SELDOM_CODE) -#define appmain_0c SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_24 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_25 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_2f SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_30 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_31 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_32 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_33 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_34 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_38 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_3a SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_51 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_52 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain_5c SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_0a SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_0c SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_33 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_35 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_3e SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_42 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh_43 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain2_01 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain2_02 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain6_01 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain6_06 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_02 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_04 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_06 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_09 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_0b SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_0d SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_0f SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain7_11 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define applink_05 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain3_05 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain3_07 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain3_08 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain3_09 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain4_02 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain4_03 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain4_04 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmain4_05 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define msgpool_03 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_10 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_11 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_12 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_15 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_1b SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_1c SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_24 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_25 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputwin_27 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputhdl_09 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputhdl_1d SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputhdl_1e SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputhdl_1f SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define inputhdl_20 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmaina_01 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define appmaina_02 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh4_03 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh4_06 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh4_07 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh4_08 SEG_SEGCLASS(UNUSED_SEG000,UNUSED_CODE) -#define docsh4_09 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define docsh4_0a SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define docsh4_0b SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define docsh4_0e SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define docsh4_12 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh9_01 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh9_03 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh9_06 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshh_01 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshh_02 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshh_03 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshb_01 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshb_02 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshb_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh2_07 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh2_08 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshd_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwshd_06 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh8_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh8_07 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh8_08 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_04 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_06 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_08 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_0e SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_0f SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_10 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_17 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_18 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_1c SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_20 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_21 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_2b SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_2c SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_2e SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_31 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_32 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_33 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabvwsh4_34 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define tabview5_0a SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_06 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_15 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_18 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_19 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_1f SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_20 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_23 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_25 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_26 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_2a SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_2b SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_2c SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_2d SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_33 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_35 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_36 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_37 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_3b SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_3c SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_41 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_43 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_44 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_45 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_46 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_47 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_48 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_49 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_4a SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_4b SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_4c SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_4d SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define uiitems_4e SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_01 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_02 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_03 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_04 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_05 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_06 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_07 SEG_SEGCLASS(UNUSED_SEG001,UNUSED_CODE) -#define sbxtable_08 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define sbxtable_09 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define sbxtable_0a SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define sbxtable_0b SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define sbxtable_0c SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define sbxtable_0e SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh6_07 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh6_08 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh6_0a SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh6_0b SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_03 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_04 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_05 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_07 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_08 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_0a SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_0b SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_12 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_13 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_14 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_15 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_17 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_19 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_23 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_24 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_25 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_26 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_27 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_28 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_29 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_2a SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_2b SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_2e SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_2f SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_30 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_31 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define impex_32 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh2_03 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh2_04 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define tpstat_01 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define tpstat_02 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define tpstat_03 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define tpstat_04 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define tpstat_05 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh7_01 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define dbdocfun_05 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh3_17 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define docsh3_18 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_01 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_02 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_03 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_04 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_05 SEG_SEGCLASS(UNUSED_SEG002,UNUSED_CODE) -#define autostyl_06 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define autostyl_07 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define autostyl_08 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_04 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_08 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_0a SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_0d SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_10 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_11 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_17 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_1b SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_1d SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define prevwsh_1e SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define pivotsh_01 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define pivotsh_02 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define pivotsh_03 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define pivotsh_04 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define editsh_04 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define editsh_06 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define editsh_0b SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_17 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_18 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_19 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_1b SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_1d SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_1e SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_20 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_21 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_24 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_25 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_26 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_28 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_29 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2a SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2b SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2c SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2d SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2e SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_2f SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_30 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_31 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_32 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_87 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_89 SEG_SEGCLASS(UNUSED_SEG003,UNUSED_CODE) -#define viewfun2_8c SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfun2_8d SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_0d SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_0f SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_10 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_19 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_1a SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_1b SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_65 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_66 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_67 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_6b SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_6c SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_6f SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_70 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_71 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_74 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_76 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview_77 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_02 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_05 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_07 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_08 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_0a SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_0b SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_0c SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_0f SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_12 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_13 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_14 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_16 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_19 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_29 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_34 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_35 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_39 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_3d SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_40 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_41 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_42 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_47 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_4b SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_50 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_52 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_55 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewdata_56 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_2d SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_2e SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_2f SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_30 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_32 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_39 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_45 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_67 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_68 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define tabview3_69 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_04 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_05 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_0e SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_10 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_11 SEG_SEGCLASS(UNUSED_SEG004,UNUSED_CODE) -#define viewfunc_12 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_32 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_35 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_36 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_39 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_3a SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_3c SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_3d SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_3f SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_41 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_42 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_43 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_44 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define viewfunc_45 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define tabview2_01 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define tabview2_07 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define tabview2_0d SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define tabview2_0e SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define tabview2_12 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_03 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_23 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_26 SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_2d SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_2e SEG_SEGCLASS(UNUSED_SEG005,UNUSED_CODE) -#define printfun_2f SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define sbxrange_01 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define sbxrange_02 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define sbxrange_03 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define sbxrange_04 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define sbxrange_05 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_01 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_02 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_03 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_05 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_08 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_09 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_0a SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_0b SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define dataobj_0c SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_02 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_03 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_04 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_05 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_06 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_07 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_08 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_09 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0a SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0b SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0c SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0d SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0e SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_0f SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_10 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_11 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_12 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_13 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_14 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_15 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_16 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_17 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_18 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_19 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1a SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1b SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1c SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1d SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1e SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_1f SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_20 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_21 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_22 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_23 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_24 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_25 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_26 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_27 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_28 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_29 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2a SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2b SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2c SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2d SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2e SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_2f SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_30 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_34 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_35 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_36 SEG_SEGCLASS(UNUSED_SEG006,UNUSED_CODE) -#define undodat_37 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_38 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_39 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_3a SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_3b SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_3c SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_40 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_41 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_42 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_49 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_4a SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_4b SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_4c SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_4e SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_4f SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_50 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_51 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_52 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_53 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_56 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_57 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_58 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_59 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5a SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5b SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5c SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5d SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5e SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_5f SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_60 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_61 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_62 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_63 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_64 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_65 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_66 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_67 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_68 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_69 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define undodat_6a SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_01 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_02 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_03 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_04 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_05 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define servobj_06 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_01 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_02 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_03 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_04 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_05 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_06 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_07 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_08 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_09 SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_0b SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_0c SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_0e SEG_SEGCLASS(UNUSED_SEG007,UNUSED_CODE) -#define dbfunc3_0f SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc3_11 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc3_12 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc3_13 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_01 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_03 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_05 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_06 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define galwrap_07 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define styledlg_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define attrdlg_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_02 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_05 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_07 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_08 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_17 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define dbfunc_18 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define client_01 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define client_02 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define client_03 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define client_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define client_05 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define tabvwshe_01 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define tabvwshe_02 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define tabvwshe_03 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun4_01 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun4_02 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun4_03 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun4_04 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun4_05 SEG_SEGCLASS(UNUSED_SEG008,UNUSED_CODE) -#define viewfun6_01 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun6_02 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun6_03 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun6_04 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun6_05 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun6_06 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_01 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_02 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_03 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_05 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_07 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_08 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_0b SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_14 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define viewfun3_15 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tabview4_02 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tabview4_08 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define drawview_07 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define drawview_12 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define drawview_1a SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_01 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_02 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_03 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_04 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_05 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_06 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_07 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_08 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_09 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_0a SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define tablink_0b SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_01 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_02 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_03 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_04 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_05 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_06 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_07 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_08 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_09 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0a SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0b SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0c SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0d SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0e SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_0f SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_10 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_11 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_12 SEG_SEGCLASS(UNUSED_SEG009,UNUSED_CODE) -#define undoblk_13 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_14 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_15 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_16 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_17 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_18 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_19 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1a SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1b SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1c SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1d SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1e SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_1f SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_20 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_21 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_22 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_23 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_24 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_25 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_26 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_27 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_28 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_29 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2a SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2b SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2c SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2d SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2e SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_2f SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_30 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_31 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_32 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_33 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_34 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_35 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_36 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_37 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_38 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_39 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3a SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3b SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3c SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3d SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3e SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_3f SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_40 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_41 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_42 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_43 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_44 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_45 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_46 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_47 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define undoblk_48 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define preview_04 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define preview_05 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define preview_13 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define preview_14 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define viewutil_06 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_01 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_02 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_03 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_04 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_05 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_06 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_07 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_08 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_09 SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_0a SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_0b SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_0c SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_0d SEG_SEGCLASS(UNUSED_SEG010,UNUSED_CODE) -#define namedlg_0e SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define namedlg_0f SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define namedlg_10 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define docsh5_01 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define docsh5_02 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define docsh5_03 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define docsh5_04 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define docsh5_05 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_1f SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_20 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_21 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_22 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_23 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_24 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_28 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_29 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_2a SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_32 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_34 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_35 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_36 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_37 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_38 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_39 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_3a SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_3b SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_3c SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_40 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_41 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_42 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_43 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_44 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_45 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_46 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_47 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_48 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_49 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_50 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_51 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_52 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_53 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_54 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_55 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_56 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_57 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_58 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_59 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_5a SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_5b SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_5e SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_60 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_61 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_62 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_63 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_64 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_65 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_66 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_67 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_68 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undoblk3_69 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_04 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_05 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_06 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_07 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_08 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_09 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0a SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0b SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0c SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0d SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0e SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_0f SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_10 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_11 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_12 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_13 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_14 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_15 SEG_SEGCLASS(UNUSED_SEG011,UNUSED_CODE) -#define undotab_16 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_17 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_18 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_19 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_1a SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_1b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_1c SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_1d SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_1e SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_20 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_21 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_22 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_23 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_24 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_25 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_26 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_27 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_28 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_29 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2a SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2c SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2d SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2e SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_2f SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_30 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_31 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_32 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_33 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_34 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_35 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_36 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_37 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undotab_38 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_04 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_05 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_06 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0a SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0c SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0d SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0e SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_0f SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_10 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_11 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_12 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_13 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_14 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_15 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_16 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_17 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_18 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_1b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define undocell_1c SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_06 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_10 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_11 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_12 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_13 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_14 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define gridwin_38 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_05 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_07 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_08 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_09 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_0a SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_0b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_0c SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_0d SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define olinewin_11 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabsplit_04 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabsplit_05 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define colrowba_07 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define colrowba_0f SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define colrowba_10 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define colrowba_11 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define colrowba_14 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_08 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_09 SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_0a SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_0b SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_0d SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_0e SEG_SEGCLASS(UNUSED_SEG012,UNUSED_CODE) -#define tabcont_0f SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_03 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_07 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_0b SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_10 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_13 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define select_16 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define refundo_01 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define refundo_02 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define refundo_03 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define refundo_04 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoblk2_2e SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoblk2_2f SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoblk2_30 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define gridwin4_05 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_20 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_21 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_22 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_23 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_24 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output_25 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output2_03 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define output2_04 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define dataobj2_01 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define dataobj3_01 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define dataobj3_02 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_03 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_04 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_05 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_06 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_07 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_08 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_0b SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_0c SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_0d SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_0e SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_0f SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_10 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_11 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_12 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_13 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_14 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undobase_15 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoutil_01 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoutil_02 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoutil_03 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define undoutil_04 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define tabpages_18 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define tabpages_19 SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define tabpages_1a SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define tabpages_1b SEG_SEGCLASS(UNUSED_SEG013,UNUSED_CODE) -#define tabpages_1c SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define tabpages_1d SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define tabpages_20 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define tabpages_22 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie3_05 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define tabvwshg_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define spelleng_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun5_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun5_02 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_02 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_03 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_04 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_05 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define viewfun7_06 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define gridwin2_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define gridwin2_02 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define gridwin2_03 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define gridwin2_04 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define gridwin2_05 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define hdrcont_09 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define hdrcont_0a SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define hdrcont_0b SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define undoolk_02 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define undoolk_04 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_01 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_02 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_03 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_04 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_05 SEG_SEGCLASS(UNUSED_SEG014,UNUSED_CODE) -#define drawvie4_06 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_02 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_03 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_04 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_05 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_06 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_07 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_08 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_09 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_0a SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_0b SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_0c SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_0d SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_0e SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_10 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_12 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_13 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_14 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_15 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_16 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_17 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_18 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_19 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1a SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1b SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1c SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1d SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1e SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_1f SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_20 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_21 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_22 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_23 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_24 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_25 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_26 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_27 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_28 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_29 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2a SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2b SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2c SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2d SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2e SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_2f SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_30 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_31 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_32 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_33 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_34 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_35 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_36 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_37 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_38 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_39 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_3a SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_3b SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_3d SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_3e SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_3f SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_40 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_41 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define navipi_42 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_01 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_02 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_03 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_04 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_05 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_06 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define optdlg_07 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define tbxalign_03 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define tbxalign_04 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_01 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_02 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_03 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_04 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_05 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_06 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_07 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define drtxtob_08 SEG_SEGCLASS(UNUSED_SEG015,UNUSED_CODE) -#define imoptdlg_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define drawsh_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define drawsh_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define drawsh_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define drawsh_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_01 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_09 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins2_0a SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins1_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins1_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuins1_0b SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fumark_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fumark_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fumark_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fumark_0a SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_01 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconpol_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_01 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconctl_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_01 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_09 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_0a SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_0b SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define futext_0c SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconrec_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_01 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_02 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_03 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_04 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_05 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_06 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_07 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define fuconarc_08 SEG_SEGCLASS(UNUSED_SEG016,UNUSED_CODE) -#define mvtabdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_06 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_07 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_08 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define mvtabdlg_09 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_06 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_07 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_08 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_09 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_0a SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define instbdlg_0b SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define lbseldlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define lbseldlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define lbseldlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define lbseldlg_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define subtdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define subtdlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define sortdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define sortdlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define scendlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define scendlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define scendlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define scendlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define inscodlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define inscodlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define inscodlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define inscodlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define inscodlg_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcldlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcldlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcldlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define autofmt_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define autofmt_06 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define autofmt_07 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define autofmt_1d SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define groupdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define groupdlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define groupdlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define namecrea_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define namecrea_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcodlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcodlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcodlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcodlg_04 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define delcodlg_05 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define funcdlg_01 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define funcdlg_02 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define funcdlg_03 SEG_SEGCLASS(UNUSED_SEG017,UNUSED_CODE) -#define funcdlg_04 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_05 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_06 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_07 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_08 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_09 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_0b SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_0c SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_0d SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_0e SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_0f SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define funcdlg_10 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_05 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_0a SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_0c SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define edfundlg_0d SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define inscldlg_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define inscldlg_02 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define inscldlg_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define hfedtdlg_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define hfedtdlg_02 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define hfedtdlg_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define namepast_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define namepast_02 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define namepast_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define namepast_04 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define namepast_05 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_02 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_04 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_05 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define mtrindlg_06 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_01 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_02 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_03 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_04 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_05 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_06 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_07 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_08 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_09 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_0a SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_0c SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_0d SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_0e SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_10 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_11 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define dbnamdlg_12 SEG_SEGCLASS(UNUSED_SEG018,UNUSED_CODE) -#define chartdlg_01 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_02 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_03 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_04 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_05 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_06 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_07 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_09 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define chartdlg_0a SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_01 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_02 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_03 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_04 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_06 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_07 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_08 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_09 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_0a SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_0b SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define solvrdlg_0c SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_01 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_02 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_03 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_04 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_05 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_06 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_08 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_09 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_0b SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_0c SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_0d SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define sfiltdlg_0e SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_01 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_02 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_03 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_04 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_05 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_06 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_07 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_08 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_09 SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define tabopdlg_0a SEG_SEGCLASS(UNUSED_SEG019,UNUSED_CODE) -#define consdlg_01 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_02 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_03 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_04 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_05 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_06 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_07 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_08 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_09 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0a SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0b SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0c SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0d SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0e SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_0f SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define consdlg_10 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_01 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_02 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_03 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_04 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_05 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_06 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_07 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_08 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_09 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0a SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0b SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0c SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0d SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0e SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_0f SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_10 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_11 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_12 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_13 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define areasdlg_14 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_05 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_06 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_0c SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_0d SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_0f SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define filtdlg_10 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define pvlaydlg_02 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define pvlaydlg_04 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define pvlaydlg_08 SEG_SEGCLASS(UNUSED_SEG020,UNUSED_CODE) -#define pvlaydlg_09 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0a SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0b SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0c SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0d SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0e SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_0f SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_10 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_11 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_12 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_13 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_15 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_16 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_17 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_18 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_19 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_1b SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_1c SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define pvlaydlg_1e SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define tphf_0e SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define tphf_0f SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define tptable_03 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_01 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_02 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_03 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_04 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_06 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_07 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_08 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_09 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_0a SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_0b SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_0c SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_0e SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_0f SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_10 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_11 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_12 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_13 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_14 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_15 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_16 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_17 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_18 SEG_SEGCLASS(UNUSED_SEG021,UNUSED_CODE) -#define argdlg_19 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define argdlg_1a SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define anyrefdg_03 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_01 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_02 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_03 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_04 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_05 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_06 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_07 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_08 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_09 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define pfiltdlg_0a SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_01 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_02 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_03 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_04 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_05 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_06 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_07 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_08 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_09 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_0a SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_0b SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_0c SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_0d SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define scenwnd_0e SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define navcitem_01 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define navcitem_02 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_01 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_02 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_03 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_05 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_06 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_07 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_08 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_09 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpview_0a SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpcalc_01 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpcalc_02 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpcalc_03 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpcalc_05 SEG_SEGCLASS(UNUSED_SEG022,UNUSED_CODE) -#define tpcalc_06 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_07 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_09 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_0a SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_0c SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_0d SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpcalc_0e SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_02 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_04 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_06 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_07 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpprint_08 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_02 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_03 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_05 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_06 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_07 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_08 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_09 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0a SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0b SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0c SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0d SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0e SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_0f SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_10 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_12 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define tpusrlst_13 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob2_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob2_02 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob2_03 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob2_05 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob2_06 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob1_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob1_02 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob1_03 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drtxtob1_04 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drawsh1_07 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drawsh3_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define drawsh4_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fupoor_06 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fupoor_09 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fupoor_0a SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fupoor_0b SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fupoor_0c SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fudraw_04 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fudraw_05 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fusel2_01 SEG_SEGCLASS(UNUSED_SEG023,UNUSED_CODE) -#define fuconstr_06 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_01 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_02 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_03 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_04 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_05 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_06 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_07 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_08 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_09 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0a SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0b SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0c SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0d SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0e SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_0f SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_10 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_11 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_12 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_13 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_14 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_15 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_16 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_17 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_18 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_19 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_1a SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_1b SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_1c SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_1e SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_1f SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsubt_20 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_01 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_02 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_03 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_04 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_05 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_06 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_07 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_08 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_09 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0a SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0b SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0c SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0d SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0e SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_0f SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_10 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_11 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_12 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_13 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_14 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_15 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_16 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_17 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_19 SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_1b SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tpsort_1e SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_0d SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_0f SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_1a SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_1c SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_1d SEG_SEGCLASS(UNUSED_SEG024,UNUSED_CODE) -#define tphfedit_1f SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define tphfedit_20 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define tphfedit_22 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define foptmgr_05 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define foptmgr_06 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define foptmgr_07 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define foptmgr_08 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_02 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_05 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_06 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_07 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_08 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_09 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_0a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_0c SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_0d SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_0e SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_0f SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define fieldwnd_10 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_01 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_02 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_03 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_05 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_06 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define funcutl_07 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define crdlg_01 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define crdlg_02 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define crdlg_03 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define textdlgs_01 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define textdlgs_02 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define textdlgs_03 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_01 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_02 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_03 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_04 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_05 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_06 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define pvfundlg_07 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_03 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_05 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_06 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_08 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_0b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_0d SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_51 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_52 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_53 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_54 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_55 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_57 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_58 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_59 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_5b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_5c SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_5d SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_5f SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_60 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_6b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_72 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_79 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_7a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_7b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_7c SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_7d SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_86 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_87 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_8a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_8c SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_96 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_97 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_99 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_9a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define global_9b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_27 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_28 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_29 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_2a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_2b SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_2c SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_2d SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_37 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_3e SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_3f SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_70 SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_7a SEG_SEGCLASS(UNUSED_SEG025,UNUSED_CODE) -#define attrib_7b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_7c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_7d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_7e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_7f SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_81 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_82 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_84 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_85 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_87 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_89 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_8a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_8b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_8c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_8e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_90 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_92 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_93 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_94 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_95 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_96 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_97 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_99 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_9f SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_a0 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_a1 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define attrib_a2 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_06 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_07 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_08 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_09 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_0a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_0c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define docoptio_0d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_09 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_0a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_0b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_0c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_0d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_0e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_10 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_11 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_1a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define viewopti_1d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_02 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_04 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_08 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_09 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_0a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_0b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_0c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_0d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_0e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define printopt_11 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_02 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_04 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_07 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_08 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_0a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_0d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_0e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_0f SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_10 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_11 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_12 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_13 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_17 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_18 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_1b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_21 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_23 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_24 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_26 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_27 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_28 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_29 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_2a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_2b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_2c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_2f SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_30 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_31 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_36 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_38 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_3c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_3d SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_3e SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_40 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_44 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_46 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_47 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_48 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_49 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_4a SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_4b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen3_4c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen8_09 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen8_0f SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen8_10 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define documen8_11 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_02 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_04 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_07 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_08 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_0b SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define appoptio_0c SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define splcfg_01 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define splcfg_02 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define splcfg_03 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define splcfg_04 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define splcfg_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define editutil_04 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define editutil_05 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define editutil_06 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define editutil_20 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define editutil_21 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define document_09 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define document_10 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define document_15 SEG_SEGCLASS(UNUSED_SEG026,UNUSED_CODE) -#define document_19 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_1a SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_1b SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_1c SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_1e SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_20 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_21 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_23 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_24 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_25 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_26 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_27 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_28 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_29 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_36 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_39 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_3f SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_43 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_46 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_4d SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_4e SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_50 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_59 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_67 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_69 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_6b SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_6c SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_71 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_73 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_74 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_7a SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_7f SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_81 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_99 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_9a SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_9d SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_a2 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_a4 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_a5 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_a8 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_ac SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_ae SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_b0 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_b1 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_b7 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_b8 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define document_ba SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen7_02 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen7_08 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen7_0a SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen7_14 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen7_16 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_01 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_04 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_05 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_06 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_07 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define documen4_09 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define column3_05 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define column3_07 SEG_SEGCLASS(UNUSED_SEG027,UNUSED_CODE) -#define column3_08 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_0a SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_0d SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_0e SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_15 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_17 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_1a SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_1c SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define column3_1d SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen6_02 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_03 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_04 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_18 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_19 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_1a SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_1b SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define documen2_1c SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define docpool_04 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define docpool_05 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define patattr_0b SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define patattr_0c SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define patattr_0f SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define patattr_13 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define patattr_15 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_06 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_0a SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_0b SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_0c SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_0d SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_13 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_14 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_15 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_17 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_18 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_1c SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_1d SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_1e SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_20 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_24 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_25 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_26 SEG_SEGCLASS(UNUSED_SEG028,UNUSED_CODE) -#define global2_36 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_38 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_39 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_3b SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_3c SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_3d SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_3e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_3f SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_40 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_41 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_49 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_52 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_53 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_54 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define global2_55 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_04 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_0a SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_0c SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_0d SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_0e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_0f SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_12 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_13 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_14 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_15 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_16 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_19 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_1c SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_1d SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_1e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define rangenam_1f SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_02 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_03 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_04 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_05 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_06 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define documen5_07 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define stlpool_04 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define stlpool_05 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define stlpool_07 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_05 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_06 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_0b SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_0d SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_10 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_11 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_13 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_16 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_18 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_19 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_1a SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_1b SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define collect_1c SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_01 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_05 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_0b SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_0e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_2e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_30 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_31 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_39 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell_3e SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_02 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_03 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_04 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_05 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_07 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_08 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_09 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_0a SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_0b SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_0f SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_11 SEG_SEGCLASS(UNUSED_SEG029,UNUSED_CODE) -#define cell2_13 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_14 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_15 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_16 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_17 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_18 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_19 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_1a SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_1b SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_22 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_23 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define cell2_24 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_01 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_02 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_03 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_05 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_08 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_09 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_0b SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_0c SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define rangeutl_11 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_04 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_08 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_0e SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_14 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_17 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_1a SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_1c SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_1e SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define dbcolect_20 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_02 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_28 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_2a SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_2d SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_30 SEG_SEGCLASS(UNUSED_SEG030,UNUSED_CODE) -#define autoform_31 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define autoform_32 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_02 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_03 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_07 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_08 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_0b SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_0d SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_0e SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_0f SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_10 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_11 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define userlist_12 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_04 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_13 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_17 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_18 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_19 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_1c SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_20 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_21 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_22 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_23 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_24 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_25 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_26 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_29 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_2a SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define drwlayer_2c SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define documen9_05 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define documen9_07 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define documen9_08 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define documen9_0e SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define documen9_0f SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_03 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_04 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_05 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_06 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_07 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_08 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_09 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_0b SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_0c SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_0d SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_0e SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_0f SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_10 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_11 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_12 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_13 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_14 SEG_SEGCLASS(UNUSED_SEG031,UNUSED_CODE) -#define pivot_15 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_16 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_17 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_18 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_19 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1a SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1b SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1c SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1d SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1e SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_1f SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_20 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_21 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_22 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_2d SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_2e SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_30 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_31 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_32 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_33 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_34 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_35 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_36 SEG_SEGCLASS(UNUSED_SEG032,UNUSED_CODE) -#define pivot_37 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot_38 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot_39 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot_3a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot_3b SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_01 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_02 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_03 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_04 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_05 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_06 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_07 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_08 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_09 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_0a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_0c SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_0d SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_0f SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_10 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_11 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_12 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_14 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_15 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_16 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_17 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_18 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_19 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1b SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1c SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1d SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1e SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_1f SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_20 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_21 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_23 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_24 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_25 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_26 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_27 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_28 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_29 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2b SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2c SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2d SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2e SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_2f SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_30 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_31 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define olinetab_32 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define fillinfo_01 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_01 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_02 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_10 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_16 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_1c SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_1f SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_25 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_27 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_29 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2b SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2c SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2d SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2e SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define chartarr_2f SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_04 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_08 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_09 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_0a SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_10 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_12 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define bcaslot_13 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_01 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_02 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_03 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_04 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_05 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_07 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_08 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_09 SEG_SEGCLASS(UNUSED_SEG033,UNUSED_CODE) -#define pivot2_0a SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_0b SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_0f SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_10 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_11 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_12 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_13 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define pivot2_14 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_01 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_02 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_05 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_06 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_07 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_08 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_09 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_0b SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_0d SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_0f SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_10 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_11 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_12 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_13 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_14 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_16 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_17 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_18 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_19 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_1a SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define detfunc_1b SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_01 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_02 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_03 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_04 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_07 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_08 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_09 SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_0a SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_0b SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_0c SEG_SEGCLASS(UNUSED_SEG034,UNUSED_CODE) -#define consoli_0d SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_0e SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_0f SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_10 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_11 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_12 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_13 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define consoli_14 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define zforauto_02 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define zforauto_06 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_01 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_02 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_03 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_04 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_05 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_06 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_07 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_08 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_0a SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define callform_0c SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_01 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_03 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_0a SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_0b SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_0c SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_1c SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_20 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_28 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_2c SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_b1 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_b2 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_b8 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_b9 SEG_SEGCLASS(UNUSED_SEG035,UNUSED_CODE) -#define interpr4_bc SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr4_be SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr4_bf SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr4_c0 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_27 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_28 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_49 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_4a SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_4f SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_50 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_51 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define compiler_55 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define adiasync_02 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define adiasync_04 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define adiasync_05 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_37 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_3a SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_3b SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_59 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_5a SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_5b SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_5c SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_5e SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_5f SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_85 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_90 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_a6 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_a7 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_a8 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_ab SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_ae SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_b1 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define interpr1_b5 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_67 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_68 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_69 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_72 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_73 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_74 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_80 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table3_93 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_06 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_13 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_14 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_15 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_16 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_17 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_18 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_19 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_24 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_26 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_27 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_29 SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_2a SEG_SEGCLASS(UNUSED_SEG036,UNUSED_CODE) -#define table1_2f SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table1_30 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table1_31 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_05 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_1d SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_2e SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_2f SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_30 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_31 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_32 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_33 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_35 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_36 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_38 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_3b SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_42 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_45 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_4e SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_51 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_52 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_53 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_56 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_58 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_5c SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_66 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_6d SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_6e SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_6f SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_70 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_71 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_7d SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_81 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_82 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_85 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_86 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_87 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_8b SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_93 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_94 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_99 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_9a SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_9b SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_a2 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_a5 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_a6 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_ab SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_ac SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table2_ad SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_0b SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_0c SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_0d SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_0e SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_0f SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table4_11 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_01 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_02 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_03 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_04 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_05 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_06 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_07 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_08 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_09 SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_0a SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_0b SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_0c SEG_SEGCLASS(UNUSED_SEG037,UNUSED_CODE) -#define table6_0d SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define table5_06 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define table5_09 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_03 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_05 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_11 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_12 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_16 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_1a SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_1b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_1c SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_24 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_25 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_27 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column2_29 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_01 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_02 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_04 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_05 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_06 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define refupdat_08 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define markarr_08 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define markarr_0b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define markarr_0c SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define markarr_11 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define markarr_12 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_0d SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_0e SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_12 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_13 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_14 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_15 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_1b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_1c SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_1d SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_1f SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_21 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_26 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_29 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_2d SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_2e SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define attarray_30 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define token_0b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define token_22 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define token_23 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define token_6a SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define token_6b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define scmatrix_03 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define scmatrix_08 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define scmatrix_0b SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define scmatrix_0c SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define scmatrix_10 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define drawpage_03 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_01 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_02 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_03 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_04 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_05 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_06 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define subtotal_07 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_0d SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_11 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_14 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_15 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_21 SEG_SEGCLASS(UNUSED_SEG038,UNUSED_CODE) -#define column_22 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_31 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_32 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_33 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_37 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3a SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3b SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3c SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3d SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3e SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_3f SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_40 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_41 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_42 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_43 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_44 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_61 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_62 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_63 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_6b SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_6d SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_72 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_76 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_77 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_78 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_7d SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_7f SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_80 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define column_84 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_2a SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_2b SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_35 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_36 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_37 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_3b SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_3d SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_44 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_45 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_46 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_47 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_48 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_77 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_b2 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_b5 SEG_SEGCLASS(UNUSED_SEG039,UNUSED_CODE) -#define interpr2_b6 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr2_b7 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr2_b8 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_51 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_53 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_54 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_55 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_59 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_5d SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_5e SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_61 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_62 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_63 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_65 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_b6 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr5_b7 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr3_06 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr3_07 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr3_10 SEG_SEGCLASS(UNUSED_SEG040,UNUSED_CODE) -#define interpr3_11 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define interpr3_1b SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define interpr3_28 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define ddelink_01 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define ddelink_02 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define ddelink_03 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define ddelink_04 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define ddelink_05 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define excel_04 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_04 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_07 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_08 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_09 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0a SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0b SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0c SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0d SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0e SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_0f SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_10 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_11 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_12 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_13 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_14 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_15 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_16 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_17 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_18 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_19 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1a SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1b SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1c SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1d SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1e SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_1f SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_20 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_21 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_22 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_23 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_24 SEG_SEGCLASS(UNUSED_SEG041,UNUSED_CODE) -#define scflt_25 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_26 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_27 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_28 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_29 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2a SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2b SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2c SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2d SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2e SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_2f SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_30 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_31 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_32 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_33 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_34 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_35 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_36 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_37 SEG_SEGCLASS(UNUSED_SEG042,UNUSED_CODE) -#define scflt_38 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define scflt_39 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define scflt_3a SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define scflt_3b SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define scflt_3c SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define lotus_01 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_03 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_04 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_05 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_06 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_07 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_08 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_10 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_11 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_12 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_13 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_16 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_17 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_18 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_19 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_1a SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_1b SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_1e SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_21 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_22 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_24 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_2d SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_2e SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_2f SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_35 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_3c SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_3d SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_3e SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_3f SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_41 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_43 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_44 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_46 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_4b SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_52 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_55 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define impop_57 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define expop2_01 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define expop2_02 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define expop2_03 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define functab_02 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define functab_03 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define functab_04 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define exctools_03 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define exctools_17 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define scfobj_01 SEG_SEGCLASS(UNUSED_SEG043,UNUSED_CODE) -#define lotread_01 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotread_02 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define tokstack_0d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define tokstack_0e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define tokstack_18 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define filter_02 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define filter_03 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_01 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_02 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_03 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_04 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_05 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_06 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_07 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_08 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_09 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_0a SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_0b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_0e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_0f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_10 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_11 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_12 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_13 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_14 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_15 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define lotimpop_16 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excform_02 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excform_03 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excform_08 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excform_14 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define vfbuff_04 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define vfbuff_06 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_04 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_08 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_0f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_10 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_11 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_12 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define fontbuff_13 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_01 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_02 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_03 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_04 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_06 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_07 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_08 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_09 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_0c SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_0d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_0e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_0f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_10 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_11 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_12 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_14 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_15 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_16 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_17 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_18 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_19 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1a SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1c SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_1f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_20 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_21 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_22 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_23 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_24 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_27 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_28 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_29 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2a SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2c SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_2f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_30 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_31 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_32 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_33 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_34 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_35 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_36 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_37 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_38 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_39 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3a SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3c SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_3f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_40 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_41 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_42 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_43 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_44 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_45 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_46 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_47 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_48 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_49 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_4a SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_4b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_4d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_4e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_52 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_53 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_54 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_55 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_56 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_57 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_58 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_5b SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_5c SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_5d SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_5e SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_5f SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_60 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_61 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_62 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_63 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_64 SEG_SEGCLASS(UNUSED_SEG044,UNUSED_CODE) -#define excrecds_65 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_66 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_67 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_68 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_69 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6a SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6b SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6c SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6d SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6e SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_6f SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_70 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_71 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_72 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_73 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_74 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_75 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_76 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_77 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_78 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_79 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7a SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7b SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7c SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7d SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7e SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_7f SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_80 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_81 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_82 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_83 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_84 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excrecds_85 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_01 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_02 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_03 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_05 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_09 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_0b SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_0d SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_0f SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_10 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_11 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_12 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_13 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_14 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_15 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_16 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_17 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_18 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_19 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_1a SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_1b SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_1d SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_1e SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_1f SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_22 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_24 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_25 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_26 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_27 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_28 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_29 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excdoc_2a SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define frmbase_05 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define spstring_0c SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define spstring_0d SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_02 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_03 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_04 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_05 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_06 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_07 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_08 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_09 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_0a SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_0b SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define excobj_0c SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define lotattr_01 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define lotattr_02 SEG_SEGCLASS(UNUSED_SEG045,UNUSED_CODE) -#define lotattr_03 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_04 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_05 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_06 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_07 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_08 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0a SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0b SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0c SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0d SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0e SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotattr_0f SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_01 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_02 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_07 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0a SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0b SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0c SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0d SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0e SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_0f SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_10 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_12 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_13 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_14 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_15 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_16 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_17 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_19 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_1a SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_1b SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define tool_1c SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define memory_01 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define memory_02 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_01 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_02 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_03 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_04 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_05 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_06 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_07 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_08 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_09 SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_0a SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_0b SEG_SEGCLASS(UNUSED_SEG046,UNUSED_CODE) -#define lotform_0c SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define lotform_0d SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_01 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_06 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_07 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_08 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_09 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_0a SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_0b SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_10 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_12 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_13 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_14 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_15 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_16 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_17 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_18 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_19 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_1a SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_1b SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_1c SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define exccomp_1d SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_01 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_02 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_03 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_04 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_05 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_06 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_0a SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_0c SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_0d SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_0e SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_0f SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_10 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_11 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_12 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_13 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define op_14 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define teamdlg_01 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define teamdlg_02 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define teamdlg_03 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define teamdlg_04 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) -#define teamdlg_05 SEG_SEGCLASS(UNUSED_SEG047,UNUSED_CODE) diff --git a/sc/inc/servuno.hxx b/sc/inc/servuno.hxx index 785e5e4049d0..4f2f1ec40de2 100644 --- a/sc/inc/servuno.hxx +++ b/sc/inc/servuno.hxx @@ -88,11 +88,16 @@ class ScDocShell; // BM #define SC_SERVICE_CHDATAPROV 37 +// formula parser #define SC_SERVICE_FORMULAPARS 38 #define SC_SERVICE_OPCODEMAPPER 39 -#define SC_SERVICE_VBACODENAMEPROVIDER 40 -#define SC_SERVICE_COUNT 41 +// VBA specific +#define SC_SERVICE_VBAOBJECTPROVIDER 40 +#define SC_SERVICE_VBACODENAMEPROVIDER 41 +#define SC_SERVICE_VBAGLOBALS 42 + +#define SC_SERVICE_COUNT 43 #define SC_SERVICE_INVALID USHRT_MAX diff --git a/sc/inc/sheetdata.hxx b/sc/inc/sheetdata.hxx index e23402c5fff0..de67786ff9fe 100644 --- a/sc/inc/sheetdata.hxx +++ b/sc/inc/sheetdata.hxx @@ -132,6 +132,8 @@ class ScSheetSaveData ScNoteStyleEntry maPreviousNote; + bool mbInSupportedSave; + public: ScSheetSaveData(); ~ScSheetSaveData(); @@ -174,6 +176,9 @@ public: const std::vector<ScTextStyleEntry>& GetNoteParaStyles() const { return maNoteParaStyles; } const std::vector<ScTextStyleEntry>& GetNoteTextStyles() const { return maNoteTextStyles; } const std::vector<ScTextStyleEntry>& GetTextStyles() const { return maTextStyles; } + + bool IsInSupportedSave() const; + void SetInSupportedSave( bool bSet ); }; #endif diff --git a/sc/inc/table.hxx b/sc/inc/table.hxx index 0311c5093c4c..950f07565e19 100644 --- a/sc/inc/table.hxx +++ b/sc/inc/table.hxx @@ -380,7 +380,9 @@ public: SCCOL nStartCol, SCROW nStartRow, SCCOL& rEndCol, SCROW nEndRow ); void GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, - BOOL bIncludeOld ); + BOOL bIncludeOld, bool bOnlyDown ) const; + + bool ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const; SCSIZE GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ); @@ -422,11 +424,11 @@ public: void UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc = NULL, BOOL bIncludeDraw = TRUE ); + ScDocument* pUndoDoc = NULL, BOOL bIncludeDraw = TRUE, bool bUpdateNoteCaptionPos = true ); void UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ); + SCsCOL nDx, SCsROW nDy, SCsTAB nDz, bool bUpdateNoteCaptionPos = true ); void UpdateTranspose( const ScRange& rSource, const ScAddress& rDest, ScDocument* pUndoDoc ); @@ -643,8 +645,8 @@ public: SCSIZE Query(ScQueryParam& rQueryParam, BOOL bKeepSub); BOOL CreateQueryParam(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ScQueryParam& rQueryParam); - void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, TypedScStrCollection& rStrings); - void GetFilteredFilterEntries( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, TypedScStrCollection& rStrings ); + void GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, TypedScStrCollection& rStrings, bool& rHasDates); + void GetFilteredFilterEntries( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, TypedScStrCollection& rStrings, bool& rHasDates ); BOOL GetDataEntries(SCCOL nCol, SCROW nRow, TypedScStrCollection& rStrings, BOOL bLimit); BOOL HasColHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow ); @@ -652,16 +654,17 @@ public: void DoColResize( SCCOL nCol1, SCCOL nCol2, SCSIZE nAdd ); + sal_Int32 GetMaxStringLen( SCCOL nCol, SCROW nRowStart, SCROW nRowEnd, CharSet eCharSet ) const; - xub_StrLen GetMaxNumberStringLen( USHORT& nPrecision, - SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd ) const; + xub_StrLen GetMaxNumberStringLen( sal_uInt16& nPrecision, + SCCOL nCol, + SCROW nRowStart, SCROW nRowEnd ) const; void FindConditionalFormat( ULONG nKey, ScRangeList& rRanges ); - void IncRecalcLevel() { ++nRecalcLvl; } - void DecRecalcLevel() { if (!--nRecalcLvl) SetDrawPageSize(); } + void IncRecalcLevel() { ++nRecalcLvl; } + void DecRecalcLevel( bool bUpdateNoteCaptionPos = true ) { if (!--nRecalcLvl) SetDrawPageSize(true, bUpdateNoteCaptionPos); } BOOL IsSortCollatorGlobal() const; void InitSortCollator( const ScSortParam& rPar ); @@ -735,7 +738,7 @@ private: BOOL GetNextSpellingCell(SCCOL& rCol, SCROW& rRow, BOOL bInSel, const ScMarkData& rMark) const; BOOL GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMark ); - void SetDrawPageSize(bool bResetStreamValid = true); + void SetDrawPageSize( bool bResetStreamValid = true, bool bUpdateNoteCaptionPos = true ); BOOL TestTabRefAbs(SCTAB nTable); void CompileDBFormula(); void CompileDBFormula( BOOL bCreateFormulaString ); diff --git a/sc/inc/unonames.hxx b/sc/inc/unonames.hxx index f5de35c9d033..330251742870 100644 --- a/sc/inc/unonames.hxx +++ b/sc/inc/unonames.hxx @@ -484,6 +484,7 @@ #define SC_UNO_ISEXECUTELINKENABLED "IsExecuteLinkEnabled" #define SC_UNO_ISCHANGEREADONLYENABLED "IsChangeReadOnlyEnabled" #define SC_UNO_REFERENCEDEVICE "ReferenceDevice" +#define SC_UNO_CODENAME "CodeName" // document properties from FormModel #define SC_UNO_APPLYFMDES "ApplyFormDesignMode" @@ -595,6 +596,7 @@ #define SC_UNONAME_PAGESIZE "PageSize" #define SC_UNONAME_RENDERDEV "RenderDevice" #define SC_UNONAME_SOURCERANGE "SourceRange" +#define SC_UNONAME_INC_NP_AREA "PageIncludesNonprintableArea" // CellValueBinding #define SC_UNONAME_BOUNDCELL "BoundCell" diff --git a/sc/inc/unowids.hxx b/sc/inc/unowids.hxx index 1765b9d06361..f58c3248bf81 100644 --- a/sc/inc/unowids.hxx +++ b/sc/inc/unowids.hxx @@ -77,7 +77,8 @@ #define SC_WID_UNO_TABLAYOUT ( SC_WID_UNO_START + 37 ) #define SC_WID_UNO_AUTOPRINT ( SC_WID_UNO_START + 38 ) #define SC_WID_UNO_ABSNAME ( SC_WID_UNO_START + 39 ) -#define SC_WID_UNO_END ( SC_WID_UNO_START + 39 ) +#define SC_WID_UNO_CODENAME ( SC_WID_UNO_START + 40 ) +#define SC_WID_UNO_END ( SC_WID_UNO_START + 40 ) inline BOOL IsScUnoWid( USHORT nWid ) diff --git a/sc/qa/unoapi/Test.java b/sc/qa/unoapi/Test.java new file mode 100644 index 000000000000..27d048b8bf51 --- /dev/null +++ b/sc/qa/unoapi/Test.java @@ -0,0 +1,51 @@ +/************************************************************************* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2000, 2010 Oracle and/or its affiliates. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +************************************************************************/ + +package org.openoffice.sc.qa.unoapi; + +import org.openoffice.Runner; +import org.openoffice.test.OfficeConnection; +import static org.junit.Assert.*; + +public final class Test { + @org.junit.Before public void setUp() throws Exception { + connection.setUp(); + } + + @org.junit.After public void tearDown() + throws InterruptedException, com.sun.star.uno.Exception + { + connection.tearDown(); + } + + @org.junit.Test public void test() { + assertTrue( + Runner.run( + "-sce", "sc.sce", "-xcl", "knownissues.xcl", "-tdoc", + "testdocuments", "-cs", connection.getDescription())); + } + + private final OfficeConnection connection = new OfficeConnection(); +} diff --git a/sc/qa/unoapi/knownissues.xcl b/sc/qa/unoapi/knownissues.xcl index d84379c1ac5b..205123fc0e48 100644 --- a/sc/qa/unoapi/knownissues.xcl +++ b/sc/qa/unoapi/knownissues.xcl @@ -164,4 +164,36 @@ sc.ScAccessibleCsvGrid ### i91045 ### sc.ScAccessibleDocumentPagePreview -#-> disabled in sc.sce
\ No newline at end of file +#-> disabled in sc.sce + +### i109517 ### +sc.AccessibleEditableTextPara_PreviewCell::com::sun::star::accessibility::XAccessibleComponent +sc.ScAccessiblePageHeaderArea::com::sun::star::accessibility::XAccessibleEventBroadcaster +sc.ScAnnotationObj::com::sun::star::sheet::XSheetAnnotation +sc.ScAnnotationObj::com::sun::star::text::XSimpleText +sc.ScAnnotationObj::com::sun::star::text::XTextRange +sc.ScAnnotationShapeObj::com::sun::star::beans::XPropertySet +sc.ScAnnotationShapeObj::com::sun::star::drawing::CaptionShape +sc.ScAnnotationShapeObj::com::sun::star::drawing::LineProperties +sc.ScAnnotationShapeObj::com::sun::star::drawing::RotationDescriptor +sc.ScAnnotationShapeObj::com::sun::star::drawing::ShadowProperties +sc.ScAnnotationShapeObj::com::sun::star::drawing::Shape +sc.ScAnnotationShapeObj::com::sun::star::drawing::XShape +sc.ScAnnotationShapeObj::com::sun::star::drawing::XShapeDescriptor +sc.ScAnnotationShapeObj::com::sun::star::lang::XComponent +sc.ScAnnotationShapeObj::com::sun::star::style::CharacterProperties +sc.ScAnnotationShapeObj::com::sun::star::style::CharacterPropertiesAsian +sc.ScAnnotationShapeObj::com::sun::star::style::CharacterPropertiesComplex +sc.ScAnnotationShapeObj::com::sun::star::style::ParagraphPropertiesAsian +sc.ScAnnotationShapeObj::com::sun::star::style::ParagraphPropertiesComplex +sc.ScAnnotationShapeObj::com::sun::star::text::XSimpleText +sc.ScAnnotationShapeObj::com::sun::star::text::XTextRange +sc.ScAnnotationsObj::com::sun::star::container::XElementAccess +sc.ScCellObj::com::sun::star::sheet::XSheetAnnotationAnchor +sc.ScDataPilotFieldObj::com::sun::star::sheet::XDataPilotFieldGrouping + +### i110862 ### +sc.ScDataPilotTableObj::com::sun::star::sheet::XDataPilotTable + +### i111032 ### +sc.ScAccessibleCell::com::sun::star::accessibility::XAccessibleText diff --git a/sc/qa/unoapi/makefile.mk b/sc/qa/unoapi/makefile.mk index b5506881fb2a..a4781282a0b3 100644 --- a/sc/qa/unoapi/makefile.mk +++ b/sc/qa/unoapi/makefile.mk @@ -1,7 +1,6 @@ #************************************************************************* -# # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# +# # Copyright 2000, 2010 Oracle and/or its affiliates. # # OpenOffice.org - a multi-platform office productivity suite @@ -22,19 +21,28 @@ # version 3 along with OpenOffice.org. If not, see # <http://www.openoffice.org/license.html> # for a copy of the LGPLv3 License. -# -#************************************************************************* +#***********************************************************************/ -PRJ=..$/.. +.IF "$(OOO_SUBSEQUENT_TESTS)" == "" +nothing .PHONY: +.ELSE -PRJNAME=sc -TARGET=qa_unoapi +PRJ = ../.. +PRJNAME = sc +TARGET = qa_unoapi -.INCLUDE: settings.mk +.IF "$(OOO_JUNIT_JAR)" != "" +PACKAGE = org/openoffice/sc/qa/unoapi +JAVATESTFILES = Test.java +JAVAFILES = $(JAVATESTFILES) +JARFILES = OOoRunner.jar ridl.jar test.jar +EXTRAJARFILES = $(OOO_JUNIT_JAR) +.END +.INCLUDE: settings.mk .INCLUDE: target.mk +.INCLUDE: installationtest.mk -ALLTAR : UNOAPI_TEST +ALLTAR : javatest -UNOAPI_TEST: - +$(SOLARENV)$/bin$/checkapi -sce sc.sce -xcl knownissues.xcl -tdoc $(PWD)$/testdocuments +.END diff --git a/sc/source/core/data/cell2.cxx b/sc/source/core/data/cell2.cxx index 9a3670d2a9e0..4de78c71fe79 100644 --- a/sc/source/core/data/cell2.cxx +++ b/sc/source/core/data/cell2.cxx @@ -996,6 +996,8 @@ void ScFormulaCell::UpdateReference(UpdateRefMode eUpdateRefMode, pDocument->RemoveFromFormulaTree( this ); // update formula count delete pCode; pCode = pRangeData->GetCode()->Clone(); + // #i18937# #i110008# call MoveRelWrap, but with the old position + ScCompiler::MoveRelWrap(*pCode, pDocument, aOldPos, pRangeData->GetMaxCol(), pRangeData->GetMaxRow()); ScCompiler aComp2(pDocument, aPos, *pCode); aComp2.SetGrammar(pDocument->GetGrammar()); aComp2.UpdateSharedFormulaReference( eUpdateRefMode, aOldPos, r, diff --git a/sc/source/core/data/column2.cxx b/sc/source/core/data/column2.cxx index 9e3ed1c7ef5e..4c8de67ba271 100644 --- a/sc/source/core/data/column2.cxx +++ b/sc/source/core/data/column2.cxx @@ -193,6 +193,7 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev, double nPPT = bWidth ? nPPTX : nPPTY; if (Search(nRow,nIndex)) { + ScBaseCell* pCell = pItems[nIndex].pCell; const ScPatternAttr* pPattern = rOptions.pPattern; if (!pPattern) pPattern = pAttrArray->GetPattern( nRow ); @@ -233,22 +234,26 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev, else eHorJust = (SvxCellHorJustify)((const SvxHorJustifyItem&) pPattern->GetItem( ATTR_HOR_JUSTIFY )).GetValue(); - BOOL bBreak; + bool bBreak; if ( eHorJust == SVX_HOR_JUSTIFY_BLOCK ) - bBreak = TRUE; + bBreak = true; else if ( pCondSet && pCondSet->GetItemState(ATTR_LINEBREAK, TRUE, &pCondItem) == SFX_ITEM_SET) bBreak = ((const SfxBoolItem*)pCondItem)->GetValue(); else bBreak = ((const SfxBoolItem&)pPattern->GetItem(ATTR_LINEBREAK)).GetValue(); + if (pCell->HasValueData()) + // Cell has a value. Disable line break. + bBreak = false; + // get other attributes from pattern and conditional formatting SvxCellOrientation eOrient = pPattern->GetCellOrientation( pCondSet ); BOOL bAsianVertical = ( eOrient == SVX_ORIENTATION_STACKED && ((const SfxBoolItem&)pPattern->GetItem( ATTR_VERTICAL_ASIAN, pCondSet )).GetValue() ); if ( bAsianVertical ) - bBreak = FALSE; + bBreak = false; if ( bWidth && bBreak ) // after determining bAsianVertical (bBreak may be reset) return 0; @@ -300,7 +305,6 @@ long ScColumn::GetNeededSize( SCROW nRow, OutputDevice* pDev, nIndent = ((const SfxUInt16Item&)pPattern->GetItem(ATTR_INDENT)).GetValue(); } - ScBaseCell* pCell = pItems[nIndex].pCell; BYTE nScript = pDocument->GetScriptType( nCol, nRow, nTab, pCell ); if (nScript == 0) nScript = ScGlobal::GetDefaultScriptType(); diff --git a/sc/source/core/data/column3.cxx b/sc/source/core/data/column3.cxx index dc206950b3ea..be7211138c1d 100644 --- a/sc/source/core/data/column3.cxx +++ b/sc/source/core/data/column3.cxx @@ -1249,7 +1249,7 @@ void ScColumn::StartListeningInArea( SCROW nRow1, SCROW nRow2 ) // TRUE = Zahlformat gesetzt BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, formula::FormulaGrammar::AddressConvention eConv, - SvNumberFormatter* pFormatter, bool bDetectNumberFormat ) + SvNumberFormatter* pLangFormatter, bool bDetectNumberFormat ) { BOOL bNumFmtSet = FALSE; if (VALIDROW(nRow)) @@ -1261,8 +1261,11 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, double nVal; sal_uInt32 nIndex, nOldIndex = 0; sal_Unicode cFirstChar; - if (!pFormatter) - pFormatter = pDocument->GetFormatTable(); + // #i110979# If a different NumberFormatter is passed in (pLangFormatter), + // its formats aren't valid in the document. + // Only use the language / LocaleDataWrapper from pLangFormatter, + // always the document's number formatter for IsNumberFormat. + SvNumberFormatter* pFormatter = pDocument->GetFormatTable(); SfxObjectShell* pDocSh = pDocument->GetDocumentShell(); if ( pDocSh ) bIsLoading = pDocSh->IsLoading(); @@ -1337,9 +1340,23 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, if (bDetectNumberFormat) { + if ( pLangFormatter ) + { + // for number detection: valid format index for selected language + nIndex = pFormatter->GetStandardIndex( pLangFormatter->GetLanguage() ); + } + if (!pFormatter->IsNumberFormat(rString, nIndex, nVal)) break; + if ( pLangFormatter ) + { + // convert back to the original language if a built-in format was detected + const SvNumberformat* pOldFormat = pFormatter->GetEntry( nOldIndex ); + if ( pOldFormat ) + nIndex = pFormatter->GetFormatForLanguageIfBuiltIn( nIndex, pOldFormat->GetLanguage() ); + } + pNewCell = new ScValueCell( nVal ); if ( nIndex != nOldIndex) { @@ -1378,7 +1395,8 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, else { // Only check if the string is a regular number. - const LocaleDataWrapper* pLocale = pFormatter->GetLocaleData(); + SvNumberFormatter* pLocaleSource = pLangFormatter ? pLangFormatter : pFormatter; + const LocaleDataWrapper* pLocale = pLocaleSource->GetLocaleData(); if (!pLocale) break; @@ -1467,8 +1485,9 @@ BOOL ScColumn::SetString( SCROW nRow, SCTAB nTabP, const String& rString, } -void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollection& rStrings) +void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollection& rStrings, bool& rHasDates) { + bool bHasDates = false; SvNumberFormatter* pFormatter = pDocument->GetFormatTable(); String aString; SCROW nRow = 0; @@ -1504,6 +1523,18 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollec nValue = 0.0; } + if (pFormatter) + { + short nType = pFormatter->GetType(nFormat); + if ((nType & NUMBERFORMAT_DATE) && !(nType & NUMBERFORMAT_TIME)) + { + // special case for date values. Disregard the time + // element if the number format is of date type. + nValue = ::rtl::math::approxFloor(nValue); + bHasDates = true; + } + } + pData = new TypedStrData( aString, nValue, SC_STRTYPE_VALUE ); } #if 0 // DR @@ -1522,6 +1553,8 @@ void ScColumn::GetFilterEntries(SCROW nStartRow, SCROW nEndRow, TypedScStrCollec ++nIndex; } + + rHasDates = bHasDates; } // @@ -1905,11 +1938,15 @@ sal_Int32 ScColumn::GetMaxStringLen( SCROW nRowStart, SCROW nRowEnd, CharSet eCh } -xub_StrLen ScColumn::GetMaxNumberStringLen( USHORT& nPrecision, - SCROW nRowStart, SCROW nRowEnd ) const +xub_StrLen ScColumn::GetMaxNumberStringLen( + sal_uInt16& nPrecision, SCROW nRowStart, SCROW nRowEnd ) const { xub_StrLen nStringLen = 0; nPrecision = pDocument->GetDocOptions().GetStdPrecision(); + if ( nPrecision == SvNumberFormatter::UNLIMITED_PRECISION ) + // In case of unlimited precision, use 2 instead. + nPrecision = 2; + if ( pItems ) { String aString; @@ -1932,8 +1969,8 @@ xub_StrLen ScColumn::GetMaxNumberStringLen( USHORT& nPrecision, { if ( nFormat ) { // more decimals than standard? - USHORT nPrec = pNumFmt->GetFormatPrecision( nFormat ); - if ( nPrec > nPrecision ) + sal_uInt16 nPrec = pNumFmt->GetFormatPrecision( nFormat ); + if ( nPrec != SvNumberFormatter::UNLIMITED_PRECISION && nPrec > nPrecision ) nPrecision = nPrec; } if ( nPrecision ) diff --git a/sc/source/core/data/documen2.cxx b/sc/source/core/data/documen2.cxx index c08fb7a10228..138b55f0794c 100755 --- a/sc/source/core/data/documen2.cxx +++ b/sc/source/core/data/documen2.cxx @@ -93,6 +93,7 @@ #include "tabprotection.hxx" #include "formulaparserpool.hxx" #include "clipparam.hxx" +#include <basic/basmgr.hxx> // pImpl because including lookupcache.hxx in document.hxx isn't wanted, and // dtor plus helpers are convenient. @@ -934,6 +935,8 @@ BOOL ScDocument::CopyTab( SCTAB nOldPos, SCTAB nNewPos, const ScMarkData* pOnlyM return bValid; } +void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String& sModuleSource ); + ULONG ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos, SCTAB nDestPos, BOOL bInsertNew, BOOL bResultsOnly ) @@ -1104,6 +1107,43 @@ ULONG ScDocument::TransferTab( ScDocument* pSrcDoc, SCTAB nSrcPos, } if (!bValid) nRetVal = 0; + BOOL bVbaEnabled = IsInVBAMode(); + + if ( bVbaEnabled ) + { + SfxObjectShell* pSrcShell = pSrcDoc ? pSrcDoc->GetDocumentShell() : NULL; + if ( pSrcShell ) + { + StarBASIC* pStarBASIC = pSrcShell ? pSrcShell->GetBasic() : NULL; + String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) ); + if ( pSrcShell && pSrcShell->GetBasicManager()->GetName().Len() > 0 ) + { + aLibName = pSrcShell->GetBasicManager()->GetName(); + pStarBASIC = pSrcShell->GetBasicManager()->GetLib( aLibName ); + } + + String sCodeName; + String sSource; + com::sun::star::uno::Reference< com::sun::star::script::XLibraryContainer > xLibContainer = pSrcShell->GetBasicContainer(); + com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > xLib; + if( xLibContainer.is() ) + { + com::sun::star::uno::Any aLibAny = xLibContainer->getByName( aLibName ); + aLibAny >>= xLib; + } + + if( xLib.is() ) + { + String sSrcCodeName; + pSrcDoc->GetCodeName( nSrcPos, sSrcCodeName ); + rtl::OUString sRTLSource; + xLib->getByName( sSrcCodeName ) >>= sRTLSource; + sSource = sRTLSource; + } + VBA_InsertModule( *this, nDestPos, sCodeName, sSource ); + } + } + return nRetVal; } diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 1bd5b101f691..557f181c9d8f 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -785,7 +785,8 @@ void ScDocument::UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc, BOOL bIncludeDraw ) + ScDocument* pUndoDoc, BOOL bIncludeDraw, + bool bUpdateNoteCaptionPos ) { PutInOrder( nCol1, nCol2 ); PutInOrder( nRow1, nRow2 ); @@ -829,7 +830,7 @@ void ScDocument::UpdateReference( UpdateRefMode eUpdateRefMode, if (pTab[i]) pTab[i]->UpdateReference( eUpdateRefMode, nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, - nDx, nDy, nDz, pUndoDoc, bIncludeDraw ); + nDx, nDy, nDz, pUndoDoc, bIncludeDraw, bUpdateNoteCaptionPos ); if ( bIsEmbedded ) { @@ -1262,7 +1263,8 @@ BOOL ScDocument::HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, // GetFilterEntries - Eintraege fuer AutoFilter-Listbox // -BOOL ScDocument::GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedScStrCollection& rStrings, bool bFilter ) +BOOL ScDocument::GetFilterEntries( + SCCOL nCol, SCROW nRow, SCTAB nTab, bool bFilter, TypedScStrCollection& rStrings, bool& rHasDates) { if ( ValidTab(nTab) && pTab[nTab] && pDBCollection ) { @@ -1299,11 +1301,11 @@ BOOL ScDocument::GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedScSt if ( bFilter ) { - pTab[nTab]->GetFilteredFilterEntries( nCol, nStartRow, nEndRow, aParam, rStrings ); + pTab[nTab]->GetFilteredFilterEntries( nCol, nStartRow, nEndRow, aParam, rStrings, rHasDates ); } else { - pTab[nTab]->GetFilterEntries( nCol, nStartRow, nEndRow, rStrings ); + pTab[nTab]->GetFilterEntries( nCol, nStartRow, nEndRow, rStrings, rHasDates ); } return TRUE; @@ -1318,11 +1320,11 @@ BOOL ScDocument::GetFilterEntries( SCCOL nCol, SCROW nRow, SCTAB nTab, TypedScSt // BOOL ScDocument::GetFilterEntriesArea( SCCOL nCol, SCROW nStartRow, SCROW nEndRow, - SCTAB nTab, TypedScStrCollection& rStrings ) + SCTAB nTab, TypedScStrCollection& rStrings, bool& rHasDates ) { if ( ValidTab(nTab) && pTab[nTab] ) { - pTab[nTab]->GetFilterEntries( nCol, nStartRow, nEndRow, rStrings ); + pTab[nTab]->GetFilterEntries( nCol, nStartRow, nEndRow, rStrings, rHasDates ); return TRUE; } @@ -1900,10 +1902,10 @@ void ScDocument::IncSizeRecalcLevel( SCTAB nTab ) pTab[nTab]->IncRecalcLevel(); } -void ScDocument::DecSizeRecalcLevel( SCTAB nTab ) +void ScDocument::DecSizeRecalcLevel( SCTAB nTab, bool bUpdateNoteCaptionPos ) { if ( ValidTab(nTab) && pTab[nTab] ) - pTab[nTab]->DecRecalcLevel(); + pTab[nTab]->DecRecalcLevel( bUpdateNoteCaptionPos ); } // Wang Xu Ming -- 2009-8-17 diff --git a/sc/source/core/data/documen4.cxx b/sc/source/core/data/documen4.cxx index bb6b4cd295ce..148cc367534c 100644 --- a/sc/source/core/data/documen4.cxx +++ b/sc/source/core/data/documen4.cxx @@ -430,7 +430,7 @@ sal_Int32 ScDocument::GetMaxStringLen( SCTAB nTab, SCCOL nCol, return 0; } -xub_StrLen ScDocument::GetMaxNumberStringLen( USHORT& nPrecision, SCTAB nTab, +xub_StrLen ScDocument::GetMaxNumberStringLen( sal_uInt16& nPrecision, SCTAB nTab, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd ) const { diff --git a/sc/source/core/data/documen9.cxx b/sc/source/core/data/documen9.cxx index ec6bba8cc33d..9da788fca01c 100644 --- a/sc/source/core/data/documen9.cxx +++ b/sc/source/core/data/documen9.cxx @@ -168,7 +168,7 @@ void ScDocument::InitDrawLayer( SfxObjectShell* pDocShell ) pTab[nTab]->GetName(aTabName); pDrawLayer->ScRenamePage( nTab, aTabName ); - pTab[nTab]->SetDrawPageSize(false); // #54782# set the right size immediately + pTab[nTab]->SetDrawPageSize(false,false); // #54782# set the right size immediately #if 0 ULONG nx = (ULONG) ((double) (MAXCOL+1) * STD_COL_WIDTH * HMM_PER_TWIPS ); ULONG ny = (ULONG) ((double) (MAXROW+1) * ScGlobal::nStdRowHeight * HMM_PER_TWIPS ); diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx index 9cf68e3e309d..ff132a1f204b 100644 --- a/sc/source/core/data/document.cxx +++ b/sc/source/core/data/document.cxx @@ -51,6 +51,7 @@ #include <tools/tenccvt.hxx> #include <com/sun/star/text/WritingMode2.hpp> +#include <com/sun/star/script/XVBACompat.hpp> #include "document.hxx" #include "table.hxx" @@ -696,14 +697,22 @@ bool ScDocument::ShrinkToDataArea(SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow return true; // success! } +bool ScDocument::ShrinkToUsedDataArea( SCTAB nTab, SCCOL& rStartCol, + SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const +{ + if (!ValidTab(nTab) || !pTab[nTab]) + return false; + return pTab[nTab]->ShrinkToUsedDataArea( rStartCol, rStartRow, rEndCol, rEndRow, bColumnsOnly); +} + // zusammenhaengender Bereich void ScDocument::GetDataArea( SCTAB nTab, SCCOL& rStartCol, SCROW& rStartRow, - SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld ) + SCCOL& rEndCol, SCROW& rEndRow, BOOL bIncludeOld, bool bOnlyDown ) { if (VALIDTAB(nTab)) if (pTab[nTab]) - pTab[nTab]->GetDataArea( rStartCol, rStartRow, rEndCol, rEndRow, bIncludeOld ); + pTab[nTab]->GetDataArea( rStartCol, rStartRow, rEndCol, rEndRow, bIncludeOld, bOnlyDown ); } @@ -953,7 +962,7 @@ void ScDocument::DeleteRow( SCCOL nStartCol, SCTAB nStartTab, { UpdateReference( URM_INSDEL, nStartCol, nStartRow+nSize, nTabRangeStart, nEndCol, MAXROW, nTabRangeEnd, - 0, -(static_cast<SCsROW>(nSize)), 0, pRefUndoDoc ); + 0, -(static_cast<SCsROW>(nSize)), 0, pRefUndoDoc, TRUE, false ); } while ( lcl_GetNextTabRange( nTabRangeStart, nTabRangeEnd, pTabMark ) ); } @@ -1054,7 +1063,7 @@ BOOL ScDocument::InsertCol( SCROW nStartRow, SCTAB nStartTab, { UpdateReference( URM_INSDEL, nStartCol, nStartRow, nTabRangeStart, MAXCOL, nEndRow, nTabRangeEnd, - static_cast<SCsCOL>(nSize), 0, 0, pRefUndoDoc ); + static_cast<SCsCOL>(nSize), 0, 0, pRefUndoDoc, TRUE, false ); } while ( lcl_GetNextTabRange( nTabRangeStart, nTabRangeEnd, pTabMark ) ); @@ -1143,7 +1152,7 @@ void ScDocument::DeleteCol(SCROW nStartRow, SCTAB nStartTab, SCROW nEndRow, SCTA { UpdateReference( URM_INSDEL, sal::static_int_cast<SCCOL>(nStartCol+nSize), nStartRow, nTabRangeStart, MAXCOL, nEndRow, nTabRangeEnd, - -static_cast<SCsCOL>(nSize), 0, 0, pRefUndoDoc ); + -static_cast<SCsCOL>(nSize), 0, 0, pRefUndoDoc, TRUE, false ); } while ( lcl_GetNextTabRange( nTabRangeStart, nTabRangeEnd, pTabMark ) ); } @@ -4964,4 +4973,13 @@ void ScDocument::EnableUndo( bool bVal ) mbUndoEnabled = bVal; } - +bool ScDocument::IsInVBAMode() const +{ + bool bResult = false; + if ( pShell ) + { + com::sun::star::uno::Reference< com::sun::star::script::XVBACompat > xVBA( pShell->GetBasicContainer(), com::sun::star::uno::UNO_QUERY ); + bResult = xVBA->getVBACompatModeOn(); + } + return bResult; +} diff --git a/sc/source/core/data/dpcachetable.cxx b/sc/source/core/data/dpcachetable.cxx index ad5e921cb278..d97900e6b904 100644 --- a/sc/source/core/data/dpcachetable.cxx +++ b/sc/source/core/data/dpcachetable.cxx @@ -183,39 +183,9 @@ sal_Int32 ScDPCacheTable::getColSize() const return GetCache()->GetColumnCount(); } -namespace { - -/** - * While the macro interpret level is incremented, the formula cells are - * (semi-)guaranteed to be interpreted. - */ -class MacroInterpretIncrementer -{ -public: - MacroInterpretIncrementer(ScDocument* pDoc) : - mpDoc(pDoc) - { - mpDoc->IncMacroInterpretLevel(); - } - ~MacroInterpretIncrementer() - { - mpDoc->DecMacroInterpretLevel(); - } -private: - ScDocument* mpDoc; -}; - -} - void ScDPCacheTable::fillTable( const ScQueryParam& rQuery, BOOL* pSpecial, bool bIgnoreEmptyRows, bool bRepeatIfEmpty ) { - // Make sure the formula cells within the data range are interpreted - // during this call, for this method may be called from the interpretation - // of GETPIVOTDATA, which disables nested formula interpretation without - // increasing the macro level. - MacroInterpretIncrementer aMacroInc(GetCache()->GetDoc()); - if ( mpCache == NULL ) InitNoneCache( NULL ); //check cache diff --git a/sc/source/core/data/dpsave.cxx b/sc/source/core/data/dpsave.cxx index 72cf15285310..dd493bb0df6c 100644 --- a/sc/source/core/data/dpsave.cxx +++ b/sc/source/core/data/dpsave.cxx @@ -1325,6 +1325,8 @@ void ScDPSaveData::Refresh( const uno::Reference<sheet::XDimensionsSupplier>& xS pDim->Refresh( xSource, deletedDims ); } + + mbDimensionMembersBuilt = false; // there may be new members } catch(uno::Exception&) { diff --git a/sc/source/core/data/dpsdbtab.cxx b/sc/source/core/data/dpsdbtab.cxx index aae5797211b0..b966d9d458ea 100644 --- a/sc/source/core/data/dpsdbtab.cxx +++ b/sc/source/core/data/dpsdbtab.cxx @@ -237,15 +237,6 @@ long ScDatabaseDPData::GetColumnCount() // End Comments -void lcl_Reset( const uno::Reference<sdbc::XRowSet>& xRowSet ) - throw(sdbc::SQLException, uno::RuntimeException) -{ - // isBeforeFirst / beforeFirst is not always available - //! query if it is allowed - - xRowSet->execute(); // restart -} - String ScDatabaseDPData::getDimensionName(long nColumn) { if (getIsDataLayoutDimension(nColumn)) diff --git a/sc/source/core/data/dpshttab.cxx b/sc/source/core/data/dpshttab.cxx index 6254e3861db5..a1fa9d2d60a6 100755 --- a/sc/source/core/data/dpshttab.cxx +++ b/sc/source/core/data/dpshttab.cxx @@ -110,12 +110,6 @@ long ScSheetDPData::GetColumnCount() return aCacheTable.getColSize(); } -BOOL lcl_HasQuery( const ScQueryParam& rParam ) -{ - return rParam.GetEntryCount() > 0 && - rParam.GetEntry(0).bDoQuery; -} - String ScSheetDPData::getDimensionName(long nColumn) { CreateCacheTable(); diff --git a/sc/source/core/data/dptablecache.cxx b/sc/source/core/data/dptablecache.cxx index 42090e5203a2..fc9cf2b99a10 100755 --- a/sc/source/core/data/dptablecache.cxx +++ b/sc/source/core/data/dptablecache.cxx @@ -304,7 +304,7 @@ void ScDPItemData::dump() const DBG_TRACE1( "Numberformat= %o", nNumFormat ); DBG_TRACESTR(aString ); DBG_TRACE1( "fValue= %f", fValue ); - DBG_TRACE1( "bHasValue= %d", bHasValue ? 1:0); + DBG_TRACE1( "mbFlag= %d", mbFlag); } #endif //End @@ -489,8 +489,40 @@ bool ScDPTableDataCache::IsValid() const } // ----------------------------------------------------------------------- + +namespace { + +/** + * While the macro interpret level is incremented, the formula cells are + * (semi-)guaranteed to be interpreted. + */ +class MacroInterpretIncrementer +{ +public: + MacroInterpretIncrementer(ScDocument* pDoc) : + mpDoc(pDoc) + { + mpDoc->IncMacroInterpretLevel(); + } + ~MacroInterpretIncrementer() + { + mpDoc->DecMacroInterpretLevel(); + } +private: + ScDocument* mpDoc; +}; + +} + +// ----------------------------------------------------------------------- bool ScDPTableDataCache::InitFromDoc( ScDocument* pDoc, const ScRange& rRange ) { + // Make sure the formula cells within the data range are interpreted + // during this call, for this method may be called from the interpretation + // of GETPIVOTDATA, which disables nested formula interpretation without + // increasing the macro level. + MacroInterpretIncrementer aMacroInc(pDoc); + // SCROW nStartRow = rRange.aStart.Row(); // start of data SCROW nEndRow = rRange.aEnd.Row(); diff --git a/sc/source/core/data/drwlayer.cxx b/sc/source/core/data/drwlayer.cxx index 69dee934ce66..3d7fc007818b 100755 --- a/sc/source/core/data/drwlayer.cxx +++ b/sc/source/core/data/drwlayer.cxx @@ -456,7 +456,7 @@ inline BOOL IsInBlock( const ScAddress& rPos, SCCOL nCol1,SCROW nRow1, SCCOL nCo } void ScDrawLayer::MoveCells( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy ) + SCsCOL nDx,SCsROW nDy, bool bUpdateNoteCaptionPos ) { SdrPage* pPage = GetPage(static_cast<sal_uInt16>(nTab)); DBG_ASSERT(pPage,"Page nicht gefunden"); @@ -492,13 +492,13 @@ void ScDrawLayer::MoveCells( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SC if ( pObj->ISA( SdrRectObj ) && pData->maStart.IsValid() && pData->maEnd.IsValid() ) pData->maStart.PutInOrder( pData->maEnd ); AddCalcUndo( new ScUndoObjData( pObj, aOldStt, aOldEnd, pData->maStart, pData->maEnd ) ); - RecalcPos( pObj, *pData, bNegativePage ); + RecalcPos( pObj, *pData, bNegativePage, bUpdateNoteCaptionPos ); } } } } -void ScDrawLayer::SetPageSize( USHORT nPageNo, const Size& rSize ) +void ScDrawLayer::SetPageSize( USHORT nPageNo, const Size& rSize, bool bUpdateNoteCaptionPos ) { SdrPage* pPage = GetPage(nPageNo); if (pPage) @@ -521,34 +521,31 @@ void ScDrawLayer::SetPageSize( USHORT nPageNo, const Size& rSize ) SdrObject* pObj = pPage->GetObj( i ); ScDrawObjData* pData = GetObjDataTab( pObj, static_cast<SCTAB>(nPageNo) ); if( pData ) - RecalcPos( pObj, *pData, bNegativePage ); + RecalcPos( pObj, *pData, bNegativePage, bUpdateNoteCaptionPos ); } } } -void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage ) +void ScDrawLayer::RecalcPos( SdrObject* pObj, const ScDrawObjData& rData, bool bNegativePage, bool bUpdateNoteCaptionPos ) { DBG_ASSERT( pDoc, "ScDrawLayer::RecalcPos - missing document" ); if( !pDoc ) return; - /* TODO CleanUp: Updating note position works just by chance currently... - When inserting rows/columns, this function is called after the - insertion, and the note is located at the new position contained in the - passed ScDrawObjData already. But when deleting rows/columns, this - function is called *before* the deletion, so the note is still at the - old cell position, and ScDocument::GetNote() will fail to get the note - or will get another note. But after the rows/columns are deleted, a - call to ScDrawLayer::SetPageSize() will call this function again, and - now the note is at the expected position in the document. */ if( rData.mbNote ) { DBG_ASSERT( rData.maStart.IsValid(), "ScDrawLayer::RecalcPos - invalid position for cell note" ); - /* When inside an undo action, there may be pending note captions - where cell note is already deleted. The caption will be deleted - later with drawing undo. */ - if( ScPostIt* pNote = pDoc->GetNote( rData.maStart ) ) - pNote->UpdateCaptionPos( rData.maStart ); + /* #i109372# On insert/remove rows/columns/cells: Updating the caption + position must not be done, if the cell containing the note has not + been moved yet in the document. The calling code now passes an + additional boolean stating if the cells are already moved. */ + if( bUpdateNoteCaptionPos ) + /* When inside an undo action, there may be pending note captions + where cell note is already deleted (thus document cannot find + the note object anymore). The caption will be deleted later + with drawing undo. */ + if( ScPostIt* pNote = pDoc->GetNote( rData.maStart ) ) + pNote->UpdateCaptionPos( rData.maStart ); return; } @@ -1020,7 +1017,7 @@ void ScDrawLayer::MoveAreaTwips( SCTAB nTab, const Rectangle& rArea, } void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCROW nRow2, - SCsCOL nDx,SCsROW nDy, BOOL bInsDel ) + SCsCOL nDx,SCsROW nDy, BOOL bInsDel, bool bUpdateNoteCaptionPos ) { DBG_ASSERT( pDoc, "ScDrawLayer::MoveArea without document" ); if ( !pDoc ) @@ -1069,7 +1066,7 @@ void ScDrawLayer::MoveArea( SCTAB nTab, SCCOL nCol1,SCROW nRow1, SCCOL nCol2,SCR // Detektiv-Pfeile: Zellpositionen anpassen // - MoveCells( nTab, nCol1,nRow1, nCol2,nRow2, nDx,nDy ); + MoveCells( nTab, nCol1,nRow1, nCol2,nRow2, nDx,nDy, bUpdateNoteCaptionPos ); } void ScDrawLayer::WidthChanged( SCTAB nTab, SCCOL nCol, long nDifTwips ) diff --git a/sc/source/core/data/global.cxx b/sc/source/core/data/global.cxx index 2081181b7537..48879bcdec93 100644 --- a/sc/source/core/data/global.cxx +++ b/sc/source/core/data/global.cxx @@ -144,15 +144,6 @@ long ScGlobal::nLastColWidthExtra = STD_EXTRA_WIDTH; static USHORT nPPTZoom = 0; // ScreenZoom used to determine nScreenPPTX/Y -// ... oder so? - -BOOL bOderSo; - -bool SC_DLLPUBLIC ScGetWriteTeamInfo() -{ - return bOderSo; -} - class SfxViewShell; SfxViewShell* pScActiveViewShell = NULL; //! als Member !!!!! USHORT nScClickMouseModifier = 0; //! dito @@ -517,12 +508,6 @@ String ScGlobal::GetLongErrorString(USHORT nErrNumber) break; } String aRes( GetRscString( nErrNumber ) ); - if( bOderSo ) - { - String aOderSo( GetRscString( STR_ODER_SO ) ); - aOderSo.SearchAndReplace( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("%s")), aRes ); - aRes = aOderSo; - } return aRes; } diff --git a/sc/source/core/data/global2.cxx b/sc/source/core/data/global2.cxx index d32ebdafbf78..3234340ae9dd 100644 --- a/sc/source/core/data/global2.cxx +++ b/sc/source/core/data/global2.cxx @@ -145,30 +145,32 @@ BOOL ScImportParam::operator==( const ScImportParam& rOther ) const //------------------------------------------------------------------------ // struct ScQueryParam: -ScQueryEntry::ScQueryEntry() +ScQueryEntry::ScQueryEntry() : + bDoQuery(FALSE), + bQueryByString(FALSE), + bQueryByDate(false), + nField(0), + eOp(SC_EQUAL), + eConnect(SC_AND), + pStr(new String), + nVal(0.0), + pSearchParam(NULL), + pSearchText(NULL) +{ +} + +ScQueryEntry::ScQueryEntry(const ScQueryEntry& r) : + bDoQuery(r.bDoQuery), + bQueryByString(r.bQueryByString), + bQueryByDate(r.bQueryByDate), + nField(r.nField), + eOp(r.eOp), + eConnect(r.eConnect), + pStr(new String(*r.pStr)), + nVal(r.nVal), + pSearchParam(NULL), + pSearchText(NULL) { - bDoQuery = FALSE; - bQueryByString = FALSE; - eOp = SC_EQUAL; - eConnect = SC_AND; - nField = 0; - nVal = 0.0; - pStr = new String; - pSearchParam = NULL; - pSearchText = NULL; -} - -ScQueryEntry::ScQueryEntry(const ScQueryEntry& r) -{ - bDoQuery = r.bDoQuery; - bQueryByString = r.bQueryByString; - eOp = r.eOp; - eConnect = r.eConnect; - nField = r.nField; - nVal = r.nVal; - pStr = new String(*r.pStr); - pSearchParam = NULL; - pSearchText = NULL; } ScQueryEntry::~ScQueryEntry() @@ -185,6 +187,7 @@ ScQueryEntry& ScQueryEntry::operator=( const ScQueryEntry& r ) { bDoQuery = r.bDoQuery; bQueryByString = r.bQueryByString; + bQueryByDate = r.bQueryByDate; eOp = r.eOp; eConnect = r.eConnect; nField = r.nField; @@ -205,6 +208,7 @@ void ScQueryEntry::Clear() { bDoQuery = FALSE; bQueryByString = FALSE; + bQueryByDate = false; eOp = SC_EQUAL; eConnect = SC_AND; nField = 0; @@ -223,6 +227,7 @@ BOOL ScQueryEntry::operator==( const ScQueryEntry& r ) const { return bDoQuery == r.bDoQuery && bQueryByString == r.bQueryByString + && bQueryByDate == r.bQueryByDate && eOp == r.eOp && eConnect == r.eConnect && nField == r.nField diff --git a/sc/source/core/data/makefile.mk b/sc/source/core/data/makefile.mk index ab2160a93219..cf51e1e543a4 100755 --- a/sc/source/core/data/makefile.mk +++ b/sc/source/core/data/makefile.mk @@ -96,10 +96,8 @@ SLOFILES = \ $(SLO)$/olinetab.obj \ $(SLO)$/pagepar.obj \ $(SLO)$/patattr.obj \ - $(SLO)$/pivot.obj \ $(SLO)$/pivot2.obj \ $(SLO)$/poolhelp.obj \ - $(SLO)$/scimpexpmsg.obj \ $(SLO)$/sortparam.obj \ $(SLO)$/stlpool.obj \ $(SLO)$/stlsheet.obj \ diff --git a/sc/source/core/data/pivot.cxx b/sc/source/core/data/pivot.cxx deleted file mode 100644 index e63b228de703..000000000000 --- a/sc/source/core/data/pivot.cxx +++ /dev/null @@ -1,34 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sc.hxx" - - - -// ----------------------------------------------------------------------- - diff --git a/sc/source/core/data/scimpexpmsg.cxx b/sc/source/core/data/scimpexpmsg.cxx deleted file mode 100644 index 0d883fe5535a..000000000000 --- a/sc/source/core/data/scimpexpmsg.cxx +++ /dev/null @@ -1,113 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sc.hxx" - - - -// INCLUDE --------------------------------------------------------------- - -#include "document.hxx" -#include "scimpexpmsg.hxx" - -#include <tools/string.hxx> - -//UNUSED2008-05 ScImpExpLogMsg::ScImpExpLogMsg( ScImpExpMsg e ) : eId( e ), pPos( NULL ), pHint( NULL ) -//UNUSED2008-05 { -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 ScImpExpLogMsg::ScImpExpLogMsg( ScImpExpMsg e, const String& r ) : eId( e ), pHint( NULL ) -//UNUSED2008-05 { -//UNUSED2008-05 pPos = new String( r ); -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 ScImpExpLogMsg::ScImpExpLogMsg( ScImpExpMsg e, const String& rP, const String& rH ) : eId( e ) -//UNUSED2008-05 { -//UNUSED2008-05 pPos = new String( rP ); -//UNUSED2008-05 pHint = new String( rH ); -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 ScImpExpLogMsg::ScImpExpLogMsg( const ScImpExpLogMsg& r ) : eId( r.eId ) -//UNUSED2008-05 { -//UNUSED2008-05 if( r.pPos ) -//UNUSED2008-05 pPos = new String( *r.pPos ); -//UNUSED2008-05 else -//UNUSED2008-05 pPos = NULL; -//UNUSED2008-05 -//UNUSED2008-05 if( r.pHint ) -//UNUSED2008-05 pHint = new String( *r.pHint ); -//UNUSED2008-05 else -//UNUSED2008-05 pHint = NULL; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 ScImpExpLogMsg::~ScImpExpLogMsg() -//UNUSED2008-05 { -//UNUSED2008-05 if( pPos ) -//UNUSED2008-05 delete pPos; -//UNUSED2008-05 -//UNUSED2008-05 if( pHint ) -//UNUSED2008-05 delete pHint; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 void ScImpExpLogMsg::Set( ScImpExpMsg e, const String* pP, const String* pH ) -//UNUSED2008-05 { -//UNUSED2008-05 eId = e; -//UNUSED2008-05 if( pPos ) -//UNUSED2008-05 delete pPos; -//UNUSED2008-05 -//UNUSED2008-05 if( pHint ) -//UNUSED2008-05 delete pHint; -//UNUSED2008-05 -//UNUSED2008-05 if( pP ) -//UNUSED2008-05 pPos = new String( *pP ); -//UNUSED2008-05 else -//UNUSED2008-05 pPos = NULL; -//UNUSED2008-05 -//UNUSED2008-05 if( pH ) -//UNUSED2008-05 pHint = new String( *pH ); -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 -//UNUSED2008-05 String ScImpExpLogMsg::GetMsg( ScImpExpMsg e ) -//UNUSED2008-05 { -//UNUSED2008-05 const sal_Char* p; -//UNUSED2008-05 switch( e ) -//UNUSED2008-05 { -//UNUSED2008-05 case SC_IMPEXPMSG_UNKNOWN: p = "unknown log message"; break; -//UNUSED2008-05 default: p = "Not specified type of log message"; -//UNUSED2008-05 } -//UNUSED2008-05 -//UNUSED2008-05 String aRet; -//UNUSED2008-05 aRet.AssignAscii( p ); -//UNUSED2008-05 return aRet; -//UNUSED2008-05 } - diff --git a/sc/source/core/data/table1.cxx b/sc/source/core/data/table1.cxx index 76656accdf46..75b288272c1e 100644 --- a/sc/source/core/data/table1.cxx +++ b/sc/source/core/data/table1.cxx @@ -115,8 +115,6 @@ // STATIC DATA ----------------------------------------------------------- -extern BOOL bIsOlk, bOderSo; - // ----------------------------------------------------------------------- ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, @@ -190,7 +188,7 @@ ScTable::ScTable( ScDocument* pDoc, SCTAB nNewTab, const String& rNewName, pDrawLayer->ScRenamePage( nTab, aName ); ULONG nx = (ULONG) ((double) (MAXCOL+1) * STD_COL_WIDTH * HMM_PER_TWIPS ); ULONG ny = (ULONG) ((double) (MAXROW+1) * ScGlobal::nStdRowHeight * HMM_PER_TWIPS ); - pDrawLayer->SetPageSize( static_cast<sal_uInt16>(nTab), Size( nx, ny ) ); + pDrawLayer->SetPageSize( static_cast<sal_uInt16>(nTab), Size( nx, ny ), false ); } } @@ -231,9 +229,6 @@ void ScTable::GetName( String& rName ) const void ScTable::SetName( const String& rNewName ) { - String aMd( "D\344umling", RTL_TEXTENCODING_MS_1252 ); // ANSI - if( rNewName == aMd ) - bIsOlk = bOderSo = TRUE; aName = rNewName; aUpperName.Erase(); // invalidated if the name is changed @@ -683,7 +678,7 @@ BOOL ScTable::GetDataStart( SCCOL& rStartCol, SCROW& rStartRow ) const } void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, SCROW& rEndRow, - BOOL bIncludeOld ) + BOOL bIncludeOld, bool bOnlyDown ) const { BOOL bLeft = FALSE; BOOL bRight = FALSE; @@ -698,26 +693,44 @@ void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, S { bChanged = FALSE; - SCROW nStart = rStartRow; - SCROW nEnd = rEndRow; - if (nStart>0) --nStart; - if (nEnd<MAXROW) ++nEnd; + if (!bOnlyDown) + { + SCROW nStart = rStartRow; + SCROW nEnd = rEndRow; + if (nStart>0) --nStart; + if (nEnd<MAXROW) ++nEnd; - if (rEndCol < MAXCOL) - if (!aCol[rEndCol+1].IsEmptyBlock(nStart,nEnd)) - { - ++rEndCol; - bChanged = TRUE; - bRight = TRUE; - } + if (rEndCol < MAXCOL) + if (!aCol[rEndCol+1].IsEmptyBlock(nStart,nEnd)) + { + ++rEndCol; + bChanged = TRUE; + bRight = TRUE; + } + + if (rStartCol > 0) + if (!aCol[rStartCol-1].IsEmptyBlock(nStart,nEnd)) + { + --rStartCol; + bChanged = TRUE; + bLeft = TRUE; + } - if (rStartCol > 0) - if (!aCol[rStartCol-1].IsEmptyBlock(nStart,nEnd)) + if (rStartRow > 0) { - --rStartCol; - bChanged = TRUE; - bLeft = TRUE; + nTest = rStartRow-1; + bFound = FALSE; + for (i=rStartCol; i<=rEndCol && !bFound; i++) + if (aCol[i].HasDataAt(nTest)) + bFound = TRUE; + if (bFound) + { + --rStartRow; + bChanged = TRUE; + bTop = TRUE; + } } + } if (rEndRow < MAXROW) { @@ -733,21 +746,6 @@ void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, S bBottom = TRUE; } } - - if (rStartRow > 0) - { - nTest = rStartRow-1; - bFound = FALSE; - for (i=rStartCol; i<=rEndCol && !bFound; i++) - if (aCol[i].HasDataAt(nTest)) - bFound = TRUE; - if (bFound) - { - --rStartRow; - bChanged = TRUE; - bTop = TRUE; - } - } } while( bChanged ); @@ -780,6 +778,77 @@ void ScTable::GetDataArea( SCCOL& rStartCol, SCROW& rStartRow, SCCOL& rEndCol, S } } + +bool ScTable::ShrinkToUsedDataArea( SCCOL& rStartCol, SCROW& rStartRow, + SCCOL& rEndCol, SCROW& rEndRow, bool bColumnsOnly ) const +{ + bool bRet = false; + bool bChanged; + + do + { + bChanged = false; + + bool bCont = true; + while (rEndCol > 0 && bCont && rStartCol < rEndCol) + { + if (aCol[rEndCol].IsEmptyBlock( rStartRow, rEndRow)) + { + --rEndCol; + bChanged = true; + } + else + bCont = false; + } + + bCont = true; + while (rStartCol < MAXCOL && bCont && rStartCol < rEndCol) + { + if (aCol[rStartCol].IsEmptyBlock( rStartRow, rEndRow)) + { + ++rStartCol; + bChanged = true; + } + else + bCont = false; + } + + if (!bColumnsOnly) + { + if (rStartRow < MAXROW && rStartRow < rEndRow) + { + bool bFound = false; + for (SCCOL i=rStartCol; i<=rEndCol && !bFound; i++) + if (aCol[i].HasDataAt( rStartRow)) + bFound = true; + if (!bFound) + { + ++rStartRow; + bChanged = true; + } + } + + if (rEndRow > 0 && rStartRow < rEndRow) + { + bool bFound = false; + for (SCCOL i=rStartCol; i<=rEndCol && !bFound; i++) + if (aCol[i].HasDataAt( rEndRow)) + bFound = true; + if (!bFound) + { + --rEndRow; + bChanged = true; + } + } + } + + if (bChanged) + bRet = true; + } while( bChanged ); + return bRet; +} + + SCSIZE ScTable::GetEmptyLinesInBlock( SCCOL nStartCol, SCROW nStartRow, SCCOL nEndCol, SCROW nEndRow, ScDirection eDir ) { @@ -1117,7 +1186,7 @@ BOOL ScTable::GetNextMarkedCell( SCCOL& rCol, SCROW& rRow, const ScMarkData& rMa void ScTable::UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, - SCsCOL nDx, SCsROW nDy, SCsTAB nDz ) + SCsCOL nDx, SCsROW nDy, SCsTAB nDz, bool bUpdateNoteCaptionPos ) { if ( nTab >= nTab1 && nTab <= nTab2 && nDz == 0 ) // only within the table { @@ -1133,14 +1202,14 @@ void ScTable::UpdateDrawRef( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nR nRow2 = sal::static_int_cast<SCROW>( nRow2 - nDy ); } pDrawLayer->MoveArea( nTab, nCol1,nRow1, nCol2,nRow2, nDx,nDy, - (eUpdateRefMode == URM_INSDEL) ); + (eUpdateRefMode == URM_INSDEL), bUpdateNoteCaptionPos ); } } } void ScTable::UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nRow1, SCTAB nTab1, SCCOL nCol2, SCROW nRow2, SCTAB nTab2, SCsCOL nDx, SCsROW nDy, SCsTAB nDz, - ScDocument* pUndoDoc, BOOL bIncludeDraw ) + ScDocument* pUndoDoc, BOOL bIncludeDraw, bool bUpdateNoteCaptionPos ) { SCCOL i; SCCOL iMax; @@ -1159,7 +1228,7 @@ void ScTable::UpdateReference( UpdateRefMode eUpdateRefMode, SCCOL nCol1, SCROW nDx, nDy, nDz, pUndoDoc ); if ( bIncludeDraw ) - UpdateDrawRef( eUpdateRefMode, nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, nDx, nDy, nDz ); + UpdateDrawRef( eUpdateRefMode, nCol1, nRow1, nTab1, nCol2, nRow2, nTab2, nDx, nDy, nDz, bUpdateNoteCaptionPos ); if ( nTab >= nTab1 && nTab <= nTab2 && nDz == 0 ) // print ranges: only within the table { diff --git a/sc/source/core/data/table2.cxx b/sc/source/core/data/table2.cxx index 2163c3154d6a..4dc7dddcaba1 100644 --- a/sc/source/core/data/table2.cxx +++ b/sc/source/core/data/table2.cxx @@ -113,7 +113,7 @@ BOOL ScTable::TestInsertRow( SCCOL nStartCol, SCCOL nEndCol, SCSIZE nSize ) void ScTable::InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (nStartCol==0 && nEndCol==MAXCOL) { @@ -132,15 +132,14 @@ void ScTable::InsertRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE for (SCCOL j=nStartCol; j<=nEndCol; j++) aCol[j].InsertRow( nStartRow, nSize ); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel( false ); } void ScTable::DeleteRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE nSize, BOOL* pUndoOutline ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (nStartCol==0 && nEndCol==MAXCOL) { @@ -160,8 +159,7 @@ void ScTable::DeleteRow( SCCOL nStartCol, SCCOL nEndCol, SCROW nStartRow, SCSIZE for (SCCOL j=nStartCol; j<=nEndCol; j++) aCol[j].DeleteRow( nStartRow, nSize ); } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } @@ -184,7 +182,7 @@ BOOL ScTable::TestInsertCol( SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ) void ScTable::InsertCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (nStartRow==0 && nEndRow==MAXROW) { @@ -227,15 +225,14 @@ void ScTable::InsertCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE aCol[nStartCol+i].ClearItems( nStartRow, nEndRow, nWhichArray ); } } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } void ScTable::DeleteCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE nSize, BOOL* pUndoOutline ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (nStartRow==0 && nEndRow==MAXROW) { @@ -270,8 +267,7 @@ void ScTable::DeleteCol( SCCOL nStartCol, SCROW nStartRow, SCROW nEndRow, SCSIZE for (SCSIZE i=0; static_cast<SCCOL>(i+nSize)+nStartCol <= MAXCOL; i++) aCol[nStartCol + nSize + i].MoveTo(nStartRow, nEndRow, aCol[nStartCol + i]); } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } @@ -281,7 +277,7 @@ void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USH if (nRow2 > MAXROW) nRow2 = MAXROW; if (ValidColRow(nCol1, nRow1) && ValidColRow(nCol2, nRow2)) { -// nRecalcLvl++; +// IncRecalcLevel(); { // scope for bulk broadcast ScBulkBroadcast aBulkBroadcast( pDocument->GetBASM()); @@ -300,9 +296,7 @@ void ScTable::DeleteArea(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, USH ApplyPatternArea( nCol1, nRow1, nCol2, nRow2, aPattern ); } -/* if( !--nRecalcLvl ) - SetDrawPageSize(); -*/ +// DecRecalcLevel(); } } @@ -389,7 +383,7 @@ void ScTable::CopyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, if (nRow2 > MAXROW) nRow2 = MAXROW; if (ValidColRow(nCol1, nRow1) && ValidColRow(nCol2, nRow2)) { - nRecalcLvl++; + IncRecalcLevel(); for ( i = nCol1; i <= nCol2; i++) aCol[i].CopyFromClip(nRow1, nRow2, nDy, nInsFlag, bAsLink, bSkipAttrForEmpty, pTable->aCol[i - nDx]); @@ -424,8 +418,7 @@ void ScTable::CopyFromClip(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, ApplyPatternArea( nCol1, nRow1, nCol2, nRow2, aPattern ); } } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } } @@ -691,7 +684,7 @@ void ScTable::UndoToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, BOOL bHeight = (nCol1==0 && nCol2==MAXCOL && pRowHeight && pDestTab->pRowHeight); if (bWidth||bHeight) - nRecalcLvl++; + IncRecalcLevel(); for ( SCCOL i = 0; i <= MAXCOL; i++) { @@ -709,8 +702,7 @@ void ScTable::UndoToTable(SCCOL nCol1, SCROW nRow1, SCCOL nCol2, SCROW nRow2, pDestTab->pColWidth[i] = pColWidth[i]; if (bHeight) pDestTab->pRowHeight->CopyFrom( *pRowHeight, nRow1, nRow2); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } } } @@ -1960,14 +1952,13 @@ void ScTable::SetColWidth( SCCOL nCol, USHORT nNewWidth ) if ( nNewWidth != pColWidth[nCol] ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); if (pDrawLayer) pDrawLayer->WidthChanged( nTab, nCol, ((long) nNewWidth) - (long) pColWidth[nCol] ); pColWidth[nCol] = nNewWidth; - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } } else @@ -1990,14 +1981,13 @@ void ScTable::SetRowHeight( SCROW nRow, USHORT nNewHeight ) USHORT nOldHeight = pRowHeight->GetValue(nRow); if ( nNewHeight != nOldHeight ) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); if (pDrawLayer) pDrawLayer->HeightChanged( nTab, nRow, ((long) nNewHeight) - (long) nOldHeight ); pRowHeight->SetValue( nRow, nNewHeight); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } } else @@ -2013,7 +2003,7 @@ BOOL ScTable::SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, USHORT nNewHeig BOOL bChanged = FALSE; if (VALIDROW(nStartRow) && VALIDROW(nEndRow) && pRowHeight) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (!nNewHeight) { @@ -2096,8 +2086,7 @@ BOOL ScTable::SetRowHeightRange( SCROW nStartRow, SCROW nEndRow, USHORT nNewHeig } while (!bChanged && aIter.NextRange()); pRowHeight->SetValue( nStartRow, nEndRow, nNewHeight); } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } else { @@ -2280,7 +2269,7 @@ void ScTable::ShowCol(SCCOL nCol, BOOL bShow) BOOL bWasVis = ( pColFlags[nCol] & CR_HIDDEN ) == 0; if (bWasVis != bShow) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); if (pDrawLayer) @@ -2295,8 +2284,7 @@ void ScTable::ShowCol(SCCOL nCol, BOOL bShow) pColFlags[nCol] &= ~CR_HIDDEN; else pColFlags[nCol] |= CR_HIDDEN; - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection(); if ( pCharts ) @@ -2318,7 +2306,7 @@ void ScTable::ShowRow(SCROW nRow, BOOL bShow) BOOL bWasVis = ( nFlags & CR_HIDDEN ) == 0; if (bWasVis != bShow) { - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); if (pDrawLayer) @@ -2333,8 +2321,7 @@ void ScTable::ShowRow(SCROW nRow, BOOL bShow) pRowFlags->SetValue( nRow, nFlags & ~(CR_HIDDEN | CR_FILTERED)); else pRowFlags->SetValue( nRow, nFlags | CR_HIDDEN); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); ScChartListenerCollection* pCharts = pDocument->GetChartListenerCollection(); if ( pCharts ) @@ -2354,7 +2341,7 @@ void ScTable::DBShowRow(SCROW nRow, BOOL bShow) { BYTE nFlags = pRowFlags->GetValue(nRow); BOOL bWasVis = ( nFlags & CR_HIDDEN ) == 0; - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); if (bWasVis != bShow) { @@ -2373,8 +2360,7 @@ void ScTable::DBShowRow(SCROW nRow, BOOL bShow) pRowFlags->SetValue( nRow, nFlags & ~(CR_HIDDEN | CR_FILTERED)); else pRowFlags->SetValue( nRow, nFlags | (CR_HIDDEN | CR_FILTERED)); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); if (bWasVis != bShow) { @@ -2396,7 +2382,7 @@ void ScTable::DBShowRow(SCROW nRow, BOOL bShow) void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow) { SCROW nStartRow = nRow1; - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); while (nStartRow <= nRow2) { @@ -2441,15 +2427,14 @@ void ScTable::DBShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow) if (pOutlineTable) UpdateOutlineRow( nRow1, nRow2, bShow ); - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow) { SCROW nStartRow = nRow1; - nRecalcLvl++; + IncRecalcLevel(); InitializeNoteCaptions(); while (nStartRow <= nRow2) { @@ -2487,8 +2472,7 @@ void ScTable::ShowRows(SCROW nRow1, SCROW nRow2, BOOL bShow) nStartRow = nEndRow + 1; } - if( !--nRecalcLvl ) - SetDrawPageSize(); + DecRecalcLevel(); } @@ -2854,7 +2838,7 @@ void ScTable::GetUpperCellString(SCCOL nCol, SCROW nRow, String& rStr) // Berechnen der Groesse der Tabelle und setzen der Groesse an der DrawPage -void ScTable::SetDrawPageSize(bool bResetStreamValid) +void ScTable::SetDrawPageSize(bool bResetStreamValid, bool bUpdateNoteCaptionPos) { ScDrawLayer* pDrawLayer = pDocument->GetDrawLayer(); if( pDrawLayer ) @@ -2867,7 +2851,7 @@ void ScTable::SetDrawPageSize(bool bResetStreamValid) if ( IsLayoutRTL() ) // IsNegativePage x = -x; - pDrawLayer->SetPageSize( static_cast<sal_uInt16>(nTab), Size( x, y ) ); + pDrawLayer->SetPageSize( static_cast<sal_uInt16>(nTab), Size( x, y ), bUpdateNoteCaptionPos ); } // #i102616# actions that modify the draw page size count as sheet modification diff --git a/sc/source/core/data/table3.cxx b/sc/source/core/data/table3.cxx index 09a9f41929b5..7d295b6286a8 100644 --- a/sc/source/core/data/table3.cxx +++ b/sc/source/core/data/table3.cxx @@ -31,6 +31,7 @@ #include <rtl/math.hxx> #include <unotools/textsearch.hxx> #include <svl/zforlist.hxx> +#include <svl/zformat.hxx> #include <unotools/charclass.hxx> #include <unotools/collatorwrapper.hxx> #include <com/sun/star/i18n/CollatorOptions.hpp> @@ -989,6 +990,35 @@ BOOL ScTable::ValidQuery(SCROW nRow, const ScQueryParam& rParam, } else nCellVal = GetValue( static_cast<SCCOL>(rEntry.nField), nRow ); + + /* NOTE: lcl_PrepareQuery() prepares a filter query such that if a + * date+time format was queried rEntry.bQueryByDate is not set. In + * case other queries wanted to use this mechanism they should do + * the same, in other words only if rEntry.nVal is an integer value + * rEntry.bQueryByDate should be true and the time fraction be + * stripped here. */ + if (rEntry.bQueryByDate) + { + sal_uInt32 nNumFmt = GetNumberFormat(static_cast<SCCOL>(rEntry.nField), nRow); + const SvNumberformat* pEntry = pDocument->GetFormatTable()->GetEntry(nNumFmt); + if (pEntry) + { + short nNumFmtType = pEntry->GetType(); + /* NOTE: Omitting the check for absence of + * NUMBERFORMAT_TIME would include also date+time formatted + * values of the same day. That may be desired in some + * cases, querying all time values of a day, but confusing + * in other cases. A user can always setup a standard + * filter query for x >= date AND x < date+1 */ + if ((nNumFmtType & NUMBERFORMAT_DATE) && !(nNumFmtType & NUMBERFORMAT_TIME)) + { + // The format is of date type. Strip off the time + // element. + nCellVal = ::rtl::math::approxFloor(nCellVal); + } + } + } + switch (rEntry.eOp) { case SC_EQUAL : @@ -1393,6 +1423,23 @@ static void lcl_PrepareQuery( ScDocument* pDoc, ScTable* pTab, ScQueryParam& rPa sal_uInt32 nIndex = 0; rEntry.bQueryByString = !( pDoc->GetFormatTable()-> IsNumberFormat( *rEntry.pStr, nIndex, rEntry.nVal ) ); + if (rEntry.bQueryByDate) + { + if (!rEntry.bQueryByString && ((nIndex % SV_COUNTRY_LANGUAGE_OFFSET) != 0)) + { + const SvNumberformat* pEntry = pDoc->GetFormatTable()->GetEntry(nIndex); + if (pEntry) + { + short nNumFmtType = pEntry->GetType(); + if (!((nNumFmtType & NUMBERFORMAT_DATE) && !(nNumFmtType & NUMBERFORMAT_TIME))) + rEntry.bQueryByDate = false; // not a date only + } + else + rEntry.bQueryByDate = false; // what the ... not a date + } + else + rEntry.bQueryByDate = false; // not a date + } } else { @@ -1776,12 +1823,13 @@ BOOL ScTable::HasRowHeader( SCCOL nStartCol, SCROW nStartRow, SCCOL /* nEndCol * return TRUE; } -void ScTable::GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, TypedScStrCollection& rStrings) +void ScTable::GetFilterEntries(SCCOL nCol, SCROW nRow1, SCROW nRow2, TypedScStrCollection& rStrings, bool& rHasDates) { - aCol[nCol].GetFilterEntries( nRow1, nRow2, rStrings ); + aCol[nCol].GetFilterEntries( nRow1, nRow2, rStrings, rHasDates ); } -void ScTable::GetFilteredFilterEntries( SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, TypedScStrCollection& rStrings ) +void ScTable::GetFilteredFilterEntries( + SCCOL nCol, SCROW nRow1, SCROW nRow2, const ScQueryParam& rParam, TypedScStrCollection& rStrings, bool& rHasDates ) { // remove the entry for this column from the query parameter ScQueryParam aParam( rParam ); @@ -1799,15 +1847,18 @@ void ScTable::GetFilteredFilterEntries( SCCOL nCol, SCROW nRow1, SCROW nRow2, co BOOL* pSpecial = new BOOL[nEntryCount]; lcl_PrepareQuery( pDocument, this, aParam, pSpecial ); - + bool bHasDates = false; for ( SCROW j = nRow1; j <= nRow2; ++j ) { if ( ValidQuery( j, aParam, pSpecial ) ) { - aCol[nCol].GetFilterEntries( j, j, rStrings ); + bool bThisHasDates = false; + aCol[nCol].GetFilterEntries( j, j, rStrings, bThisHasDates ); + bHasDates |= bThisHasDates; } } + rHasDates = bHasDates; delete[] pSpecial; } @@ -1862,8 +1913,8 @@ sal_Int32 ScTable::GetMaxStringLen( SCCOL nCol, SCROW nRowStart, return 0; } -xub_StrLen ScTable::GetMaxNumberStringLen( USHORT& nPrecision, SCCOL nCol, - SCROW nRowStart, SCROW nRowEnd ) const +xub_StrLen ScTable::GetMaxNumberStringLen( + sal_uInt16& nPrecision, SCCOL nCol, SCROW nRowStart, SCROW nRowEnd ) const { if ( ValidCol(nCol) ) return aCol[nCol].GetMaxNumberStringLen( nPrecision, nRowStart, nRowEnd ); diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx index 2394bfb56799..edecaadb39f0 100644 --- a/sc/source/core/inc/interpre.hxx +++ b/sc/source/core/inc/interpre.hxx @@ -28,8 +28,6 @@ #ifndef SC_INTERPRE_HXX #define SC_INTERPRE_HXX -#define SC_SPEW_ENABLED 0 - #include <math.h> #include <rtl/math.hxx> #include "formula/errorcodes.hxx" @@ -38,10 +36,6 @@ #include "document.hxx" #include "scmatrix.hxx" -#if SC_SPEW_ENABLED -#include "scspew.hxx" -#endif - #include <math.h> #include <map> @@ -126,9 +120,6 @@ class ScInterpreter public: DECL_FIXEDMEMPOOL_NEWDEL( ScInterpreter ) -#if SC_SPEW_ENABLED - static ScSpew theSpew; -#endif static void GlobalExit(); // aus ScGlobal::Clear() gerufen @@ -171,6 +162,7 @@ private: short nFuncFmtType; // NumberFormatType of a function short nCurFmtType; // current NumberFormatType short nRetFmtType; // NumberFormatType of an expression + USHORT mnStringNoValueError; // the error set in ConvertStringToValue() if no value BOOL glSubTotal; // flag for subtotal functions BYTE cPar; // current count of parameters BOOL bCalcAsShown; // precision as shown @@ -539,11 +531,7 @@ void ScExternalRef(); void ScGetPivotData(); void ScHyperLink(); void ScBahtText(); -void ScCalcTeam(); -void ScAnswer(); void ScTTT(); -void ScSpewFunc(); -void ScGame(); //----------------Funktionen in interpr2.cxx--------------- diff --git a/sc/source/core/inc/sctictac.hxx b/sc/source/core/inc/sctictac.hxx deleted file mode 100644 index 1c8242150369..000000000000 --- a/sc/source/core/inc/sctictac.hxx +++ /dev/null @@ -1,131 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_SCTICTAC_HXX -#define SC_SCTICTAC_HXX - -//#define TICTACTOE_MAIN -#ifdef TICTACTOE_MAIN -#define TICTACTOE_STDOUT -#else -//#define TICTACTOE_STDOUT -#endif -#ifndef TICTACTOE_STDOUT -#define TICTACTOE_SC -#endif - -#ifdef TICTACTOE_SC -class ScDocument; -#include "global.hxx" -#include "address.hxx" -#else -#include <tools/string.hxx> -#endif - -static const int ScTicTacToe_Squares = 9; -static const int ScTicTacToe_Possible_Wins = 8; -typedef sal_Unicode Square_Type; -typedef Square_Type Board_Type[ScTicTacToe_Squares]; - -class ScTicTacToe -{ -private: - /* Structure to hold a move and its heuristic */ - typedef struct { - int Square; - int Heuristic; - } Move_Heuristic_Type; - - static const Square_Type Empty; - static const Square_Type Human; - static const Square_Type Compi; - static const int Infinity; /* Higher value than any score */ - static const int Maximum_Moves; /* Maximum moves in a game */ - - Board_Type Board; -#ifdef TICTACTOE_SC - ScAddress aPos; // linke obere Ecke des Boards - ScDocument* pDoc; -#endif - ByteString aStdOut; - int Total_Nodes; /* Nodes searched with minimax */ - int nMove; - Square_Type aPlayer; - BOOL bInitialized; - - /* Array describing the eight combinations of three squares in a row */ - static const int Three_in_a_Row[ScTicTacToe_Possible_Wins][3]; - - /* Array used in heuristic formula for each move. */ - static const int Heuristic_Array[4][4]; - - - Square_Type Winner(); - inline Square_Type Other( Square_Type Player ); - inline void Play( int Square, Square_Type Player ); - int Evaluate( Square_Type Player ); - int BestMove( Square_Type Player, int *Square, - int Move_Nbr, int Alpha, int Beta ); - void Describe( int Score ); - void Move( int& Square ); - Square_Type TryMove( int& Square ); // return Winner() - void PromptHuman(); -#ifdef TICTACTOE_SC - // -1 == Fehler/Redraw, 0 == keine Aenderung, >0 == UserMoveSquare+1 - int GetStatus(); - void DrawBoard(); - void DrawPos( int nSquare, const String& rStr ); -#endif -#ifdef TICTACTOE_STDOUT - void Print(); -#endif - - ScTicTacToe( const ScTicTacToe& ); - ScTicTacToe& operator=( const ScTicTacToe& ); - -public: -#ifdef TICTACTOE_SC - ScTicTacToe( ScDocument* pDoc, const ScAddress& ); -#else - ScTicTacToe(); -#endif - ~ScTicTacToe() {} - void Initialize( BOOL bHumanFirst ); - Square_Type GetEmpty() { return Empty; } -#ifdef TICTACTOE_SC - Square_Type CalcMove(); // return Winner() -#endif -#ifdef TICTACTOE_STDOUT - void Game(); - void GetOutput( ByteString& rStr ); -#else - void GetOutput( String& rStr ); -#endif -}; - -#endif - diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx index d2b1963c544d..5f4b86b7cd18 100644 --- a/sc/source/core/tool/compiler.cxx +++ b/sc/source/core/tool/compiler.cxx @@ -121,7 +121,7 @@ enum ScanState ssStop }; -static const sal_Char* pInternal[ 5 ] = { "GAME", "SPEW", "TTT", "STARCALCTEAM", "ANTWORT" }; +static const sal_Char* pInternal[ 1 ] = { "TTT" }; using namespace ::com::sun::star::i18n; diff --git a/sc/source/core/tool/dbcolect.cxx b/sc/source/core/tool/dbcolect.cxx index 4eea4db97a0a..7f94cb64c827 100644 --- a/sc/source/core/tool/dbcolect.cxx +++ b/sc/source/core/tool/dbcolect.cxx @@ -155,6 +155,7 @@ ScDBData::ScDBData( const ScDBData& rData ) : nQueryField[i] = rData.nQueryField[i]; eQueryOp[i] = rData.eQueryOp[i]; bQueryByString[i] = rData.bQueryByString[i]; + bQueryByDate[i] = rData.bQueryByDate[i]; pQueryStr[i] = new String( *(rData.pQueryStr[i]) ); nQueryVal[i] = rData.nQueryVal[i]; eQueryConnect[i] = rData.eQueryConnect[i]; @@ -244,6 +245,7 @@ ScDBData& ScDBData::operator= (const ScDBData& rData) nQueryField[i] = rData.nQueryField[i]; eQueryOp[i] = rData.eQueryOp[i]; bQueryByString[i] = rData.bQueryByString[i]; + bQueryByDate[i] = rData.bQueryByDate[i]; *pQueryStr[i] = *rData.pQueryStr[i]; nQueryVal[i] = rData.nQueryVal[i]; eQueryConnect[i] = rData.eQueryConnect[i]; @@ -512,6 +514,7 @@ void ScDBData::GetQueryParam( ScQueryParam& rQueryParam ) const rEntry.nField = nQueryField[i]; rEntry.eOp = eQueryOp[i]; rEntry.bQueryByString = bQueryByString[i]; + rEntry.bQueryByDate = bQueryByDate[i]; *rEntry.pStr = *pQueryStr[i]; rEntry.nVal = nQueryVal[i]; rEntry.eConnect = eQueryConnect[i]; @@ -543,6 +546,7 @@ void ScDBData::SetQueryParam(const ScQueryParam& rQueryParam) nQueryField[i] = rEntry.nField; eQueryOp[i] = rEntry.eOp; bQueryByString[i] = rEntry.bQueryByString; + bQueryByDate[i] = rEntry.bQueryByDate; *pQueryStr[i] = *rEntry.pStr; nQueryVal[i] = rEntry.nVal; eQueryConnect[i] = rEntry.eConnect; diff --git a/sc/source/core/tool/docoptio.cxx b/sc/source/core/tool/docoptio.cxx index a99b3c01dd1f..95ce357b3217 100644 --- a/sc/source/core/tool/docoptio.cxx +++ b/sc/source/core/tool/docoptio.cxx @@ -115,7 +115,7 @@ void ScDocOptions::ResetDocOptions() bIsIter = FALSE; nIterCount = 100; fIterEps = 1.0E-3; - nPrecStandardFormat = 2; + nPrecStandardFormat = SvNumberFormatter::UNLIMITED_PRECISION; nDay = 30; nMonth = 12; nYear = 1899; diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx index 94cd5c1a02e9..30aa0b8aa13e 100644 --- a/sc/source/core/tool/interpr1.cxx +++ b/sc/source/core/tool/interpr1.cxx @@ -2488,7 +2488,14 @@ void ScInterpreter::ScN() Pop(); } else + { + // Temporarily override the ConvertStringToValue() error for + // GetCellValue() / GetCellValueOrZero() + USHORT nSErr = mnStringNoValueError; + mnStringNoValueError = errCellNoValue; fVal = GetDouble(); + mnStringNoValueError = nSErr; + } if ( nGlobalError == NOTAVAILABLE || nGlobalError == errIllegalArgument ) nGlobalError = 0; // N(#NA) and N("text") are ok if ( !nGlobalError && nErr != NOTAVAILABLE ) diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx index 8a6c0df0db16..2bf6a5680613 100644 --- a/sc/source/core/tool/interpr4.cxx +++ b/sc/source/core/tool/interpr4.cxx @@ -80,18 +80,8 @@ using ::std::auto_ptr; #define ADDIN_MAXSTRLEN 256 -// Implementiert in ui\miscdlgs\teamdlg.cxx - -extern void ShowTheTeam(); - -extern BOOL bOderSo; // in GLOBAL.CXX - //-----------------------------static data ----------------- -#if SC_SPEW_ENABLED -ScSpew ScInterpreter::theSpew; -#endif - //------------------------------------------------------------------------- // Funktionen fuer den Zugriff auf das Document //------------------------------------------------------------------------- @@ -261,7 +251,7 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) while (p < pStop && *p == ' ') ++p; if (p < pStop) - SetError( errNoValue); + SetError( mnStringNoValueError); break; case '-': case ':': @@ -281,7 +271,7 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) while (p < pStop && *p == ' ') ++p; if (p < pStop && !CharClass::isAsciiDigit(*p)) - SetError( errNoValue); + SetError( mnStringNoValueError); p = pLastStart; while (p < pStop && !nGlobalError && eState < blank) { @@ -291,7 +281,7 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) { // Maximum 2 digits per unit, except fractions. if (p - pLastStart >= 2 && eState != fraction) - SetError( errNoValue); + SetError( mnStringNoValueError); } else if (p > pLastStart) { @@ -300,7 +290,7 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) { nUnit[eState] = aStr.copy( pLastStart - pStart, p - pLastStart).toInt32(); if (nLimit[eState] && nLimit[eState] < nUnit[eState]) - SetError( errNoValue); + SetError( mnStringNoValueError); } pLastStart = p + 1; // hypothetical next start // Delimiters must match, a trailing delimiter @@ -311,11 +301,11 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) // Month must be followed by separator and // day, no trailing blanks. if (*p != '-' || (p+1 == pStop)) - SetError( errNoValue); + SetError( mnStringNoValueError); break; case day: if ((*p != 'T' || (p+1 == pStop)) && *p != ' ') - SetError( errNoValue); + SetError( mnStringNoValueError); // Take one blank as a valid delimiter // between date and time. break; @@ -323,17 +313,17 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) // Hour must be followed by separator and // minute, no trailing blanks. if (*p != ':' || (p+1 == pStop)) - SetError( errNoValue); + SetError( mnStringNoValueError); break; case minute: if ((*p != ':' || (p+1 == pStop)) && *p != ' ') - SetError( errNoValue); + SetError( mnStringNoValueError); if (*p == ' ') eState = done; break; case second: if (((*p != ',' && *p != '.') || (p+1 == pStop)) && *p != ' ') - SetError( errNoValue); + SetError( mnStringNoValueError); if (*p == ' ') eState = done; break; @@ -344,13 +334,13 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) case done: case blank: case stop: - SetError( errNoValue); + SetError( mnStringNoValueError); break; } eState = static_cast<State>(eState + 1); } else - SetError( errNoValue); + SetError( mnStringNoValueError); ++p; } if (eState == blank) @@ -358,14 +348,14 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) while (p < pStop && *p == ' ') ++p; if (p < pStop) - SetError( errNoValue); + SetError( mnStringNoValueError); eState = stop; } // Month without day, or hour without minute. if (eState == month || (eState == day && p <= pLastStart) || eState == hour || (eState == minute && p <= pLastStart)) - SetError( errNoValue); + SetError( mnStringNoValueError); if (!nGlobalError) { @@ -374,10 +364,10 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) { nUnit[eState] = aStr.copy( pLastStart - pStart, p - pLastStart).toInt32(); if (nLimit[eState] && nLimit[eState] < nUnit[eState]) - SetError( errNoValue); + SetError( mnStringNoValueError); } if (bDate && nUnit[hour] > 23) - SetError( errNoValue); + SetError( mnStringNoValueError); if (!nGlobalError) { if (bDate && nUnit[day] == 0) @@ -396,7 +386,7 @@ double ScInterpreter::ConvertStringToValue( const String& rStr ) } break; default: - SetError( errNoValue); + SetError( mnStringNoValueError); } if (nGlobalError) fValue = 0.0; @@ -3115,7 +3105,7 @@ void ScInterpreter::ScColRowNameAuto() (SCROW&) aRefData.Ref1.nRow, (SCCOL&) aRefData.Ref2.nCol, (SCROW&) aRefData.Ref2.nRow, - TRUE ); + TRUE, false ); // DataArea im Ursprung begrenzen aRefData.Ref1.nCol = nStartCol; aRefData.Ref1.nRow = nStartRow; @@ -3253,288 +3243,15 @@ void ScInterpreter::ScExternalRef() // --- internals ------------------------------------------------------------ -void ScInterpreter::ScAnswer() -{ - RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScAnswer" ); - String aStr( GetString() ); - if( aStr.EqualsIgnoreCaseAscii( "Das Leben, das Universum und der ganze Rest" ) ) - { - PushInt( 42 ); - bOderSo = TRUE; - } - else - PushNoValue(); -} - - -void ScInterpreter::ScCalcTeam() -{ - RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScCalcTeam" ); - static BOOL bShown = FALSE; - if( !bShown ) - { - ShowTheTeam(); - String aTeam( RTL_CONSTASCII_USTRINGPARAM( "Nebel, Benisch, Rentz, Rathke" ) ); - if ( (GetByte() == 1) && ::rtl::math::approxEqual( GetDouble(), 1996) ) - aTeam.AppendAscii( " (a word with 'B': -Olk, -Nietsch, -Daeumling)" ); - PushString( aTeam ); - bShown = TRUE; - } - else - PushInt( 42 ); -} - - -void ScInterpreter::ScSpewFunc() -{ - RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScSpewFunc" ); - BOOL bRefresh = FALSE; - BOOL bClear = FALSE; - // Stack aufraeumen - BYTE nParamCount = GetByte(); - while ( nParamCount-- > 0) - { - switch ( GetStackType() ) - { - case svString: - case svSingleRef: - case svDoubleRef: - { - const sal_Unicode ch = GetString().GetChar(0); - if ( !bRefresh && ch < 256 ) - bRefresh = (tolower( (sal_uChar) ch ) == 'r'); - if ( !bClear && ch < 256 ) - bClear = (tolower( (sal_uChar) ch ) == 'c'); - } - break; - default: - PopError(); - } - } - String aStr; -#if SC_SPEW_ENABLED - if ( bRefresh ) - theSpew.Clear(); // GetSpew liest SpewRulesFile neu - theSpew.GetSpew( aStr ); - if ( bClear ) - theSpew.Clear(); // release Memory - xub_StrLen nPos = 0; - while ( (nPos = aStr.SearchAndReplace( '\n', ' ', nPos )) != STRING_NOTFOUND ) - nPos++; -#else - aStr.AssignAscii( RTL_CONSTASCII_STRINGPARAM( "spitted out all spew :-(" ) ); -#endif - PushString( aStr ); -} - - -#include "sctictac.hxx" -#include "scmod.hxx" - -//extern "C" { static void SAL_CALL thisModule() {} } - -void ScInterpreter::ScGame() -{ - RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScGame" ); - enum GameType { - SC_GAME_NONE, - SC_GAME_ONCE, - SC_GAME_START, - SC_GAME_TICTACTOE = SC_GAME_START, - SC_GAME_STARWARS, - SC_GAME_FROGGER, - SC_GAME_COUNT - }; - // ein grep im binary laeuft ins leere - static sal_Char sGameNone[] = "\14\36\6\137\10\27\36\13\100"; - static sal_Char sGameOnce[] = "\20\27\137\21\20\123\137\21\20\13\137\36\30\36\26\21\136"; - static sal_Char sGameTicTacToe[] = "\53\26\34\53\36\34\53\20\32"; - static sal_Char sGameStarWars[] = "\54\13\36\15\50\36\15\14"; - static sal_Char sGameFrogger[] = "\71\15\20\30\30\26\32"; - sal_Char* const pGames[SC_GAME_COUNT] = { - sGameNone, - sGameOnce, - sGameTicTacToe, - sGameStarWars, - sGameFrogger - }; -#if 0 -say what? -oh no, not again! -TicTacToe -StarWars -Froggie -// Routine um Datenblock zu erzeugen: -#include <stdio.h> -int main() -{ - int b = 1; - int c; - while ( (c = getchar()) != EOF ) - { - if ( b == 1 ) - { - printf( "\"" ); - b = 0; - } - if ( c != 10 ) - { - c ^= 0x7F; - printf( "\\%o", c ); - - } - else - { - printf( "\";\n" ); - b = 1; - } - } - return 0; -} -#endif - static BOOL bRun[SC_GAME_COUNT] = { FALSE }; - static BOOL bFirst = TRUE; - if ( bFirst ) - { - bFirst = FALSE; - for ( int j = SC_GAME_NONE; j < SC_GAME_COUNT; j++ ) - { - sal_Char* p = pGames[j]; - while ( *p ) - *p++ ^= 0x7F; - } - } - String aFuncResult; - GameType eGame = SC_GAME_NONE; - BYTE nParamCount = GetByte(); - if ( nParamCount >= 1 ) - { - String aStr( GetString() ); - nParamCount--; - for ( int j = SC_GAME_START; j < SC_GAME_COUNT; j++ ) - { - if ( aStr.EqualsAscii( pGames[j] ) ) - { - eGame = (GameType) j; - break; // for - } - } - if ( eGame != SC_GAME_NONE ) - { - // jedes Game nur ein einziges Mal starten, um nicht durch Recalc - // o.ae. mehrere Instanzen zu haben, ideal waere eine Abfrage an den - // Games, ob sie bereits laufen ... - if ( bRun[ eGame ] && eGame != SC_GAME_TICTACTOE ) - eGame = SC_GAME_ONCE; - else - { - bRun[ eGame ] = TRUE; - switch ( eGame ) - { - case SC_GAME_TICTACTOE : - { - static ScTicTacToe* pTicTacToe = NULL; - static ScRange aTTTrange; - static BOOL bHumanFirst = FALSE; - if ( nParamCount >= 1 ) - { - if ( GetStackType() == svDoubleRef ) - { - ScRange aRange; - PopDoubleRef( aRange ); - nParamCount--; - if ( aRange.aEnd.Col() - aRange.aStart.Col() == 2 - && aRange.aEnd.Row() - aRange.aStart.Row() == 2 ) - { - BOOL bOk; - if ( pTicTacToe ) - bOk = (aRange == aTTTrange); - else - { - bOk =TRUE; - aTTTrange = aRange; - pTicTacToe = new ScTicTacToe( pDok, - aRange.aStart ); - pTicTacToe->Initialize( bHumanFirst ); - } - // nur einmal und das auf dem gleichen Range - if ( !bOk ) - eGame = SC_GAME_ONCE; - else - { - Square_Type aWinner = pTicTacToe->CalcMove(); - pTicTacToe->GetOutput( aFuncResult ); - if ( aWinner != pTicTacToe->GetEmpty() ) - { - delete pTicTacToe; - pTicTacToe = NULL; - bRun[ eGame ] = FALSE; - bHumanFirst = !bHumanFirst; - } - pDok->GetDocumentShell()->Broadcast( - SfxSimpleHint( FID_DATACHANGED ) ); - pDok->ResetChanged( aRange ); - } - } - else - SetError( errIllegalArgument ); - } - else - SetError( errIllegalParameter ); - } - else - SetError( errIllegalParameter ); - } - break; - default: - { - // added to avoid warnings - } - } - } - } - } - // Stack aufraeumen - while ( nParamCount-- > 0) - Pop(); - if ( !aFuncResult.Len() ) - PushString( String( pGames[ eGame ], RTL_TEXTENCODING_ASCII_US ) ); - else - PushString( aFuncResult ); -} - void ScInterpreter::ScTTT() { // Temporaerer Test-Tanz, zum auspropieren von Funktionen etc. - BOOL bOk = TRUE; BYTE nParamCount = GetByte(); // do something, nParamCount bei Pops runterzaehlen! - if ( bOk && nParamCount ) - { - bOk = GetBool(); - --nParamCount; - } // Stack aufraeumen while ( nParamCount-- > 0) Pop(); - static const sal_Unicode __FAR_DATA sEyes[] = { ',',';',':','|','8','B', 0 }; - static const sal_Unicode __FAR_DATA sGoods[] = { ')',']','}', 0 }; - static const sal_Unicode __FAR_DATA sBads[] = { '(','[','{','/', 0 }; - sal_Unicode aFace[4]; - if ( bOk ) - { - aFace[0] = sEyes[ rand() % ((sizeof( sEyes )/sizeof(sal_Unicode)) - 1) ]; - aFace[1] = '-'; - aFace[2] = sGoods[ rand() % ((sizeof( sGoods )/sizeof(sal_Unicode)) - 1) ]; - } - else - { - aFace[0] = ':'; - aFace[1] = '-'; - aFace[2] = sBads[ rand() % ((sizeof( sBads )/sizeof(sal_Unicode)) - 1) ]; - } - aFace[3] = 0; - PushStringBuffer( aFace ); + PushError(errNoValue); } // ------------------------------------------------------------------------- @@ -3549,6 +3266,7 @@ ScInterpreter::ScInterpreter( ScFormulaCell* pCell, ScDocument* pDoc, pTokenMatrixMap( NULL ), pMyFormulaCell( pCell ), pFormatter( pDoc->GetFormatTable() ), + mnStringNoValueError( errNoValue), bCalcAsShown( pDoc->GetDocOptions().IsCalcAsShown() ) { RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "sc", "er", "ScInterpreter::ScTTT" ); @@ -3982,11 +3700,7 @@ StackVar ScInterpreter::Interpret() case ocAsc : ScAsc(); break; case ocUnicode : ScUnicode(); break; case ocUnichar : ScUnichar(); break; - case ocAnswer : ScAnswer(); break; - case ocTeam : ScCalcTeam(); break; case ocTTT : ScTTT(); break; - case ocSpew : ScSpewFunc(); break; - case ocGame : ScGame(); break; case ocNone : nFuncFmtType = NUMBERFORMAT_UNDEFINED; break; default : PushError( errUnknownOpCode); break; } diff --git a/sc/source/core/tool/makefile.mk b/sc/source/core/tool/makefile.mk index 6c730f3a1743..c0258e6f0575 100644 --- a/sc/source/core/tool/makefile.mk +++ b/sc/source/core/tool/makefile.mk @@ -104,7 +104,6 @@ SLOFILES = \ $(SLO)$/reftokenhelper.obj \ $(SLO)$/refupdat.obj \ $(SLO)$/scmatrix.obj \ - $(SLO)$/sctictac.obj \ $(SLO)$/stringutil.obj \ $(SLO)$/subtotal.obj \ $(SLO)$/token.obj \ diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx index a631ff3c3fbb..1ab978866c67 100644 --- a/sc/source/core/tool/rangelst.cxx +++ b/sc/source/core/tool/rangelst.cxx @@ -229,6 +229,11 @@ BOOL ScRangeList::operator==( const ScRangeList& r ) const return TRUE; } +BOOL ScRangeList::operator!=( const ScRangeList& r ) const +{ + return !operator==( r ); +} + BOOL ScRangeList::UpdateReference( UpdateRefMode eUpdateRefMode, ScDocument* pDoc, const ScRange& rWhere, SCsCOL nDx, SCsROW nDy, SCsTAB nDz ) diff --git a/sc/source/core/tool/sctictac.cxx b/sc/source/core/tool/sctictac.cxx deleted file mode 100644 index d784f45deb87..000000000000 --- a/sc/source/core/tool/sctictac.cxx +++ /dev/null @@ -1,551 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sc.hxx" - -/* Tic-Tac-Toe program by Steve Chapel schapel@cs.ucsb.edu - Uses alpha-beta pruning minimax search to play a "perfect" game. - The alpha-beta pruning can be removed, but will increase search time. - The heuristic and move ordering in BestMove() can also be removed with - an increase in search time. */ - -#include <stdio.h> -#include <ctype.h> - - -#include "sctictac.hxx" - -#ifdef TICTACTOE_SC -#include "document.hxx" -#include "cell.hxx" -#endif - -const Square_Type ScTicTacToe::Empty = ' '; -const Square_Type ScTicTacToe::Human = 'X'; -const Square_Type ScTicTacToe::Compi = 'O'; -const int ScTicTacToe::Infinity = 10; /* Higher value than any score */ -const int ScTicTacToe::Maximum_Moves = ScTicTacToe_Squares; /* Maximum moves in a game */ - -/* Array describing the eight combinations of three squares in a row */ -const int ScTicTacToe::Three_in_a_Row[ScTicTacToe_Possible_Wins][3] = { - { 0, 1, 2 }, - { 3, 4, 5 }, - { 6, 7, 8 }, - { 0, 3, 6 }, - { 1, 4, 7 }, - { 2, 5, 8 }, - { 0, 4, 8 }, - { 2, 4, 6 } -}; - -/* Array used in heuristic formula for each move. */ -const int ScTicTacToe::Heuristic_Array[4][4] = { - { 0, -10, -100, -1000 }, - { 10, 0, 0, 0 }, - { 100, 0, 0, 0 }, - { 1000, 0, 0, 0 } -}; - - -#ifdef TICTACTOE_SC -ScTicTacToe::ScTicTacToe( ScDocument* pDocP, const ScAddress& rPos ) : - aPos( rPos ), - pDoc( pDocP ), - aStdOut( "Computer plays O, you play X. " ), - bInitialized( FALSE ) -{ -} -#else -ScTicTacToe::ScTicTacToe() : - bInitialized( FALSE ), - aStdOut( "Computer plays O, you play X. " ) -{ -} -#endif - - -/* Return the other player */ -inline Square_Type ScTicTacToe::Other(Square_Type Player) -{ - return Player == Human ? Compi : Human; -} - - -/* Make a move on the board */ -inline void ScTicTacToe::Play(int Square, Square_Type Player) -{ - Board[Square] = Player; -} - - -#ifdef TICTACTOE_STDOUT - -void ScTicTacToe::GetOutput( ByteString& rStr ) -{ - rStr = aStdOut; - aStdOut.Erase(); -} - -#else // !TICTACTOE_STDOUT - -void ScTicTacToe::GetOutput( String& rStr ) -{ - rStr = String( aStdOut, gsl_getSystemTextEncoding() ); - aStdOut.Erase(); -} - -#endif // TICTACTOE_STDOUT - - -/* Clear the board */ -void ScTicTacToe::Initialize( BOOL bHumanFirst ) -{ - bInitialized = TRUE; - aPlayer = (bHumanFirst ? Human : Compi); - nMove = 1; - for (int i = 0; i < ScTicTacToe_Squares; i++) - Board[i] = Empty; -} - - -/* If a player has won, return the winner. If the game is a tie, - return 'C' (for cat). If the game is not over, return Empty. */ -Square_Type ScTicTacToe::Winner() -{ - int i; - for (i = 0; i < ScTicTacToe_Possible_Wins; i++) - { - Square_Type Possible_Winner = Board[Three_in_a_Row[i][0]]; - if (Possible_Winner != Empty && - Possible_Winner == Board[Three_in_a_Row[i][1]] && - Possible_Winner == Board[Three_in_a_Row[i][2]]) - return Possible_Winner; - } - - for (i = 0; i < ScTicTacToe_Squares; i++) - { - if (Board[i] == Empty) - return Empty; - } - - return 'C'; -} - - -/* Return a heuristic used to determine the order in which the - children of a node are searched */ -int ScTicTacToe::Evaluate(Square_Type Player) -{ - int i; - int Heuristic = 0; - for (i = 0; i < ScTicTacToe_Possible_Wins; i++) - { - int j; - int Players = 0, Others = 0; - for (j = 0; j < 3; j++) - { - Square_Type Piece = Board[Three_in_a_Row[i][j]]; - if (Piece == Player) - Players++; - else if (Piece == Other(Player)) - Others++; - } - Heuristic += Heuristic_Array[Players][Others]; - } - return Heuristic; -} - - -/* Return the score of the best move found for a board - The square to move to is returned in *Square */ -int ScTicTacToe::BestMove(Square_Type Player, int *Square, - int Move_Nbr, int Alpha, int Beta) -{ - int Best_Square = -1; - int Moves = 0; - int i; - Move_Heuristic_Type Move_Heuristic[ScTicTacToe_Squares]; - - Total_Nodes++; - - /* Find the heuristic for each move and sort moves in descending order */ - for (i = 0; i < ScTicTacToe_Squares; i++) - { - if (Board[i] == Empty) - { - int Heuristic; - int j; - Play(i, Player); - Heuristic = Evaluate(Player); - Play(i, Empty); - for (j = Moves-1; j >= 0 && - Move_Heuristic[j].Heuristic < Heuristic; j--) - { - Move_Heuristic[j + 1].Heuristic = Move_Heuristic[j].Heuristic; - Move_Heuristic[j + 1].Square = Move_Heuristic[j].Square; - } - Move_Heuristic[j + 1].Heuristic = Heuristic; - Move_Heuristic[j + 1].Square = i; - Moves++; - } - } - - for (i = 0; i < Moves; i++) - { - int Score; - int Sq = Move_Heuristic[i].Square; - Square_Type W; - - /* Make a move and get its score */ - Play(Sq, Player); - - W = Winner(); - if (W == Compi) - Score = (Maximum_Moves + 1) - Move_Nbr; - else if (W == Human) - Score = Move_Nbr - (Maximum_Moves + 1); - else if (W == 'C') - Score = 0; - else - Score = BestMove(Other(Player), Square, Move_Nbr + 1, - Alpha, Beta); - - Play(Sq, Empty); - - /* Perform alpha-beta pruning */ - if (Player == Compi) - { - if (Score >= Beta) - { - *Square = Sq; - return Score; - } - else if (Score > Alpha) - { - Alpha = Score; - Best_Square = Sq; - } - } - else - { - if (Score <= Alpha) - { - *Square = Sq; - return Score; - } - else if (Score < Beta) - { - Beta = Score; - Best_Square = Sq; - } - } - } - *Square = Best_Square; - if (Player == Compi) - return Alpha; - else - return Beta; -} - - -/* Provide an English description of the score returned by BestMove */ -void ScTicTacToe::Describe(int Score) -{ - if (Score < 0) - aStdOut += "You have a guaranteed win. "; - else if (Score == 0) - aStdOut += "I can guarantee a tie. "; - else - { - aStdOut += "I have a guaranteed win by move "; - aStdOut += ByteString::CreateFromInt32( Maximum_Moves - Score + 1 ); - aStdOut += ". "; - } -} - - -/* Have the human or the computer move */ -void ScTicTacToe::Move( int& Square ) -{ - if (aPlayer == Compi) - { - Total_Nodes = 0; - Describe(BestMove(aPlayer, &Square, nMove, -Infinity, Infinity)); - aStdOut += ByteString::CreateFromInt32( Total_Nodes ); - aStdOut += " nodes examined. "; - Play(Square, aPlayer); - aStdOut += "Move #"; - aStdOut += ByteString::CreateFromInt32( nMove ); - aStdOut += " - O moves to "; - aStdOut += ByteString::CreateFromInt32( Square + 1 ); - aStdOut += ". "; - aPlayer = Other( aPlayer ); - nMove++; - } - else - { - if ( Square < 0 || Square >= ScTicTacToe_Squares - || Board[Square] != Empty ) - Square = -1; - else - { - Play(Square, aPlayer); - aPlayer = Other( aPlayer ); - nMove++; - } - } -} - - -// Try a move -Square_Type ScTicTacToe::TryMove( int& Square ) -{ - if ( !bInitialized ) - Initialize( FALSE ); - - Square_Type W = Winner(); - if ( W == Empty ) - { - Move( Square ); -#ifdef TICTACTOE_STDOUT - if ( aStdOut.Len() ) - { - puts( aStdOut.GetBuffer() ); - aStdOut.Erase(); - } -#endif - W = Winner(); - } - if ( W == Empty ) - { - if ( aPlayer == Human ) - PromptHuman(); - } - else - { - if (W != 'C') - { - aStdOut += static_cast< char >(W); - aStdOut += " wins!"; - } - else - aStdOut += "It's a tie."; - } - return W; -} - - -void ScTicTacToe::PromptHuman() -{ - aStdOut += "Move #"; - aStdOut += ByteString::CreateFromInt32( nMove ); - aStdOut += " - What is X's move?"; -} - - -#ifdef TICTACTOE_SC - -void ScTicTacToe::DrawPos( int nSquare, const String& rStr ) -{ - pDoc->SetString( sal::static_int_cast<SCCOL>( aPos.Col()+(nSquare%3) ), - sal::static_int_cast<SCROW>( aPos.Row()+(nSquare/3) ), aPos.Tab(), rStr ); -} - - -void ScTicTacToe::DrawBoard() -{ - String aStr; - for ( USHORT j = 0; j < ScTicTacToe_Squares; j++ ) - { - aStr = Board[j]; - DrawPos( j, aStr ); - } -} - - -// -1 == Fehler/Redraw, 0 == keine Aenderung, >0 == UserMoveSquare+1 -int ScTicTacToe::GetStatus() -{ - SCCOL nCol; - SCROW nRow; - SCTAB nTab; - nCol = aPos.Col(); - nRow = aPos.Row(); - nTab = aPos.Tab(); - String aStr; - int nDiffs = 0; - int nSquare = 0; - for ( USHORT j = 0; j < ScTicTacToe_Squares; j++ ) - { - pDoc->GetString( nCol+(j%3), nRow+(j/3), nTab, aStr ); - if ( !aStr.Len() ) - { - if ( Board[j] != Empty ) - return -1; // wo was sein muss muss was sein - } - else - { - aStr.ToUpperAscii(); - if ( aStr.GetChar(0) != Board[j] ) - { - if ( Board[j] != Empty ) - return -1; // bestehendes ueberschrieben - // bei erstem Move hat Human angefangen - if ( ++nDiffs > 1 ) - return -1; // mehr als eine Aenderung - nSquare = j; - } - } - } - if ( nDiffs == 1 ) - return nSquare + 1; - return 0; -} - - -Square_Type ScTicTacToe::CalcMove() -{ - Square_Type W = Winner(); - int nStat = GetStatus(); - if ( nStat || (W == Empty && aPlayer == Compi) ) - { - if ( nStat == -1 || (nStat > 0 && aPlayer == Compi) ) - DrawBoard(); - if ( W == Empty && aPlayer == Human ) - { - if ( nStat > 0 ) - { - int nSquare = --nStat; - W = TryMove( nStat ); - if ( nStat == -1 ) - DrawPos( nSquare, String( ' ' ) ); - else - DrawPos( nStat, String( Human ) ); - } - else - PromptHuman(); - } - if ( W == Empty && aPlayer == Compi ) - { - W = TryMove( nStat ); // ComputerMove, nStat egal - DrawPos( nStat, String( Compi ) ); - } - } - else if ( W == Empty && aPlayer == Human ) - PromptHuman(); - return W; -} - -#endif // TICTACTOE_SC - - -#ifdef TICTACTOE_STDOUT -/* Print the board */ -void ScTicTacToe::Print() -{ - int i; - for (i = 0; i < ScTicTacToe_Squares; i += 3) - { - if (i > 0) - printf("---+---+---\n"); - printf(" %c | %c | %c \n", Board[i], Board[i + 1], Board[i + 2]); - } - printf("\n"); -} - - -/* Play a game of tic-tac-toe */ -void ScTicTacToe::Game() -{ - if ( !bInitialized ) - Initialize( FALSE ); - - int Square = (aPlayer == Compi ? 0 : -1); - Square_Type W = Winner(); - while( W == Empty ) - { - Print(); - W = TryMove( Square ); - if ( W == Empty ) - { - if ( aPlayer == Human ) - { - if ( Square != -1 ) - Print(); // empty board already printed if human moves first - do - { - puts( aStdOut.GetBuffer() ); - aStdOut.Erase(); - scanf("%d", &Square); - Square--; - W = TryMove( Square ); - } while ( Square == -1 ); - } - } - } - Print(); - puts( aStdOut.GetBuffer() ); - aStdOut.Erase(); -} -#endif // TICTACTOE_STDOUT - - -#ifdef TICTACTOE_MAIN -int main() -{ - char Answer[80]; - - printf("Welcome to Tic-Tac-Toe!\n\n"); - printf("Here is the board numbering:\n"); - printf(" 1 | 2 | 3\n"); - printf("---+---+---\n"); - printf(" 4 | 5 | 6\n"); - printf("---+---+---\n"); - printf(" 7 | 8 | 9\n"); - printf("\n"); -// printf("Computer plays X, you play O.\n"); - - ScTicTacToe aTTT; - ByteString aStr; - aTTT.GetOutput( aStr ); - puts( aStr.GetBuffer() ); - - do - { - printf("\nDo you want to move first? "); - scanf("%s", Answer); - aTTT.Initialize( toupper(Answer[0]) == 'Y' ); - aTTT.Game(); - printf("\nDo you want to play again? "); - scanf("%s", Answer); - } while (toupper(Answer[0]) == 'Y'); - - return 0; -} -#endif // TICTACTOE_MAIN - diff --git a/sc/source/filter/excel/excimp8.cxx b/sc/source/filter/excel/excimp8.cxx index e424ad2d95fe..a3ea403bf4c3 100644 --- a/sc/source/filter/excel/excimp8.cxx +++ b/sc/source/filter/excel/excimp8.cxx @@ -104,7 +104,6 @@ #include <com/sun/star/container/XNameContainer.hpp> #include <sfx2/app.hxx> - using namespace com::sun::star; @@ -257,8 +256,6 @@ void ImportExcel8::SheetProtection( void ) void ImportExcel8::ReadBasic( void ) { - bHasBasic = TRUE; - SfxObjectShell* pShell = GetDocShell(); SotStorageRef xRootStrg = GetRootStorage(); SvtFilterOptions* pFilterOpt = SvtFilterOptions::Get(); @@ -270,7 +267,18 @@ void ImportExcel8::ReadBasic( void ) if( bLoadCode || bLoadStrg ) { SvxImportMSVBasic aBasicImport( *pShell, *xRootStrg, bLoadCode, bLoadStrg ); - bool bAsComment = !bLoadExecutable; + bool bAsComment = !bLoadExecutable; + if ( !bAsComment ) + { + uno::Any aGlobs; + uno::Sequence< uno::Any > aArgs(1); + aArgs[ 0 ] <<= pShell->GetModel(); + aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs ); + pShell->GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", aGlobs ); + BasicManager* pAppMgr = SFX_APP()->GetBasicManager(); + if ( pAppMgr ) + pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] ); + } aBasicImport.Import( EXC_STORAGE_VBA_PROJECT, EXC_STORAGE_VBA, bAsComment ); } } @@ -286,6 +294,10 @@ void ImportExcel8::EndSheet( void ) void ImportExcel8::PostDocLoad( void ) { + // delay reading basic until sheet object ( codenames etc. ) are read + + if ( bHasBasic ) + ReadBasic(); // #i11776# filtered ranges before outlines and hidden rows if( pExcRoot->pAutoFilterBuffer ) pExcRoot->pAutoFilterBuffer->Apply(); diff --git a/sc/source/filter/excel/read.cxx b/sc/source/filter/excel/read.cxx index 637a4777c8ed..5b9cc3180699 100644 --- a/sc/source/filter/excel/read.cxx +++ b/sc/source/filter/excel/read.cxx @@ -986,7 +986,7 @@ FltError ImportExcel8::Read( void ) case 0x22: Rec1904(); break; // 1904 [ 2345 ] case 0x56: Builtinfmtcnt(); break; // BUILTINFMTCNT[ 34 ] case 0x8D: Hideobj(); break; // HIDEOBJ [ 345 ] - case 0xD3: ReadBasic(); break; + case 0xD3: bHasBasic = true; break; case 0xDE: Olesize(); break; case 0x01BA: Codename( TRUE ); break; diff --git a/sc/source/filter/excel/xelink.cxx b/sc/source/filter/excel/xelink.cxx index 421a15b6da95..fcf738527025 100644 --- a/sc/source/filter/excel/xelink.cxx +++ b/sc/source/filter/excel/xelink.cxx @@ -43,7 +43,8 @@ using ::std::auto_ptr; using ::std::find_if; using ::std::vector; -using namespace formula; +using ::rtl::OUString; +using ::com::sun::star::uno::Any; // ============================================================================ // *** Helper classes *** @@ -166,105 +167,59 @@ private: // Cached external cells ====================================================== -/** Base class to store the contents of one external cell (record CRN). */ +/** Stores the contents of a consecutive row of external cells (record CRN). */ class XclExpCrn : public XclExpRecord { -protected: - /** @param nAddSize The size of additional data derived classes will write. */ - explicit XclExpCrn( SCCOL nScCol, SCROW nScRow, sal_uInt8 nId, sal_uInt32 nAddLen = 0 ); - -private: - /** Writes the start of the record that is equal in all CRN records and calls WriteAddData(). */ - virtual void WriteBody( XclExpStream& rStrm ); - - /** Called to write additional data following the common record contents. - @descr Derived classes should overwrite this function to write their data. */ - virtual void WriteAddData( XclExpStream& rStrm ) = 0; - -private: - sal_uInt16 mnXclCol; /// Column index of the external cell. - sal_uInt16 mnXclRow; /// Row index of the external cell. - sal_uInt8 mnId; /// Identifier for data type (EXC_CACHEDVAL_***). -}; - -// ---------------------------------------------------------------------------- - -/** Cached data of an external value cell. */ -class XclExpCrnDouble : public XclExpCrn -{ public: - explicit XclExpCrnDouble( SCCOL nScCol, SCROW nScRow, double fVal ); + explicit XclExpCrn( SCCOL nScCol, SCROW nScRow, const Any& rValue ); -private: - /** Writes the double value following the common record contents. */ - virtual void WriteAddData( XclExpStream& rStrm ); + /** Returns true, if the passed value could be appended to this record. */ + bool InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue ); private: - double mfVal; /// Value of the cached cell. -}; - -// ---------------------------------------------------------------------------- + virtual void WriteBody( XclExpStream& rStrm ); -/** Cached data of an external text cell. */ -class XclExpCrnString : public XclExpCrn -{ -public: - explicit XclExpCrnString( SCCOL nScCol, SCROW nScRow, const String& rText ); + void WriteBool( XclExpStream& rStrm, bool bValue ); + void WriteDouble( XclExpStream& rStrm, double fValue ); + void WriteString( XclExpStream& rStrm, const OUString& rValue ); + void WriteError( XclExpStream& rStrm, sal_uInt8 nErrCode ); + void WriteEmpty( XclExpStream& rStrm ); private: - /** Writes the string following the common record contents. */ - virtual void WriteAddData( XclExpStream& rStrm ); + typedef ::std::vector< Any > CachedValues; -private: - XclExpString maText; /// Text of the cached cell. + CachedValues maValues; /// All cached values. + SCCOL mnScCol; /// Column index of the first external cell. + SCROW mnScRow; /// Row index of the external cells. }; // ---------------------------------------------------------------------------- -/// Cached data of an external Boolean cell. */ -class XclExpCrnBool : public XclExpCrn -{ -public: - explicit XclExpCrnBool( SCCOL nScCol, SCROW nScRow, bool bBoolVal ); - -private: - /** Writes the Boolean value following the common record contents. */ - virtual void WriteAddData( XclExpStream& rStrm ); - -private: - sal_uInt16 mnBool; /// Boolean value of the cached cell. -}; - -// Cached cells of a sheet ==================================================== - -/// Represents the record XCT which is the header record of a CRN record list. */ -class XclExpXct : public XclExpRecord +/** Represents the record XCT which is the header record of a CRN record list. + */ +class XclExpXct : public XclExpRecordBase, protected XclExpRoot { public: - explicit XclExpXct( const String& rTabName, sal_uInt16 nSBTab ); + explicit XclExpXct( const XclExpRoot& rRoot, + const String& rTabName, sal_uInt16 nSBTab, + ScExternalRefCache::TableTypeRef xCacheTable ); /** Returns the external sheet name. */ inline const XclExpString& GetTabName() const { return maTabName; } /** Stores all cells in the given range in the CRN list. */ - void StoreCellRange( const XclExpRoot& rRoot, const ScRange& rRange ); + void StoreCellRange( const ScRange& rRange ); - void StoreCell( const XclExpRoot& rRoot, const ScAddress& rCell, const formula::FormulaToken& rToken ); - void StoreCellRange( const XclExpRoot& rRoot, const ScRange& rRange, const formula::FormulaToken& rToken ); + void StoreCell( const ScAddress& rCell, const ::formula::FormulaToken& rToken ); + void StoreCellRange( const ScRange& rRange, const ::formula::FormulaToken& rToken ); /** Writes the XCT and all CRN records. */ virtual void Save( XclExpStream& rStrm ); private: - /** Writes the XCT record contents. */ - virtual void WriteBody( XclExpStream& rStrm ); - -private: - typedef XclExpRecordList< XclExpCrn > XclExpCrnList; - typedef XclExpCrnList::RecordRefType XclExpCrnRef; - - XclExpCrnList maCrnList; /// CRN records that follow this record. + ScExternalRefCache::TableTypeRef mxCacheTable; ScMarkData maUsedCells; /// Contains addresses of all stored cells. + ScRange maBoundRange; /// Bounding box of maUsedCells. XclExpString maTabName; /// Sheet name of the external sheet. sal_uInt16 mnSBTab; /// Referred sheet index in SUPBOOK record. }; @@ -353,14 +308,14 @@ public: /** Stores all cells in the given range in the CRN list of the specified SUPBOOK sheet. */ void StoreCellRange( const ScRange& rRange, sal_uInt16 nSBTab ); - void StoreCell( sal_uInt16 nSBTab, const ScAddress& rCell, const formula::FormulaToken& rToken ); - void StoreCellRange( sal_uInt16 nSBTab, const ScRange& rRange, const formula::FormulaToken& rToken ); + void StoreCell( sal_uInt16 nSBTab, const ScAddress& rCell, const ::formula::FormulaToken& rToken ); + void StoreCellRange( sal_uInt16 nSBTab, const ScRange& rRange, const ::formula::FormulaToken& rToken ); sal_uInt16 GetTabIndex( const String& rTabName ) const; sal_uInt16 GetTabCount() const; /** Inserts a new sheet name into the SUPBOOK and returns the SUPBOOK internal sheet index. */ - sal_uInt16 InsertTabName( const String& rTabName ); + sal_uInt16 InsertTabName( const String& rTabName, ScExternalRefCache::TableTypeRef xCacheTable ); /** Finds or inserts an EXTERNNAME record for add-ins. @return The 1-based EXTERNNAME record index; or 0, if the record list is full. */ sal_uInt16 InsertAddIn( const String& rName ); @@ -1006,6 +961,7 @@ void XclExpExtName::WriteAddData( XclExpStream& rStrm ) // range address. Excel just writes '02 00 1C 17' for all the other types // of external names. + using namespace ::formula; do { if (mpArray->GetLen() != 1) @@ -1162,209 +1118,200 @@ sal_uInt16 XclExpExtNameBuffer::AppendNew( XclExpExtNameBase* pExtName ) // Cached external cells ====================================================== -XclExpCrn::XclExpCrn( SCCOL nScCol, SCROW nScRow, sal_uInt8 nId, sal_uInt32 nAddLen ) : - XclExpRecord( EXC_ID_CRN, 5 + nAddLen ), - mnXclCol( static_cast< sal_uInt16 >( nScCol ) ), - mnXclRow( static_cast< sal_uInt16 >( nScRow ) ), - mnId( nId ) +XclExpCrn::XclExpCrn( SCCOL nScCol, SCROW nScRow, const Any& rValue ) : + XclExpRecord( EXC_ID_CRN, 4 ), + mnScCol( nScCol ), + mnScRow( nScRow ) { + maValues.push_back( rValue ); } -void XclExpCrn::WriteBody( XclExpStream& rStrm ) +bool XclExpCrn::InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue ) { - rStrm << static_cast< sal_uInt8 >( mnXclCol ) - << static_cast< sal_uInt8 >( mnXclCol ) - << mnXclRow - << mnId; - WriteAddData( rStrm ); + if( (nScRow != mnScRow) || (nScCol != static_cast< SCCOL >( mnScCol + maValues.size() )) ) + return false; + maValues.push_back( rValue ); + return true; } -// ---------------------------------------------------------------------------- - -XclExpCrnDouble::XclExpCrnDouble( SCCOL nScCol, SCROW nScRow, double fVal ) : - XclExpCrn( nScCol, nScRow, EXC_CACHEDVAL_DOUBLE, 8 ), - mfVal( fVal ) +void XclExpCrn::WriteBody( XclExpStream& rStrm ) { + rStrm << static_cast< sal_uInt8 >( mnScCol + maValues.size() - 1 ) + << static_cast< sal_uInt8 >( mnScCol ) + << static_cast< sal_uInt16 >( mnScRow ); + for( CachedValues::iterator aIt = maValues.begin(), aEnd = maValues.end(); aIt != aEnd; ++aIt ) + { + if( aIt->has< bool >() ) + WriteBool( rStrm, aIt->get< bool >() ); + else if( aIt->has< double >() ) + WriteDouble( rStrm, aIt->get< double >() ); + else if( aIt->has< OUString >() ) + WriteString( rStrm, aIt->get< OUString >() ); + else + WriteEmpty( rStrm ); + } } -void XclExpCrnDouble::WriteAddData( XclExpStream& rStrm ) +void XclExpCrn::WriteBool( XclExpStream& rStrm, bool bValue ) { - rStrm << mfVal; + rStrm << EXC_CACHEDVAL_BOOL << sal_uInt8( bValue ? 1 : 0); + rStrm.WriteZeroBytes( 7 ); } -// ---------------------------------------------------------------------------- - -XclExpCrnString::XclExpCrnString( SCCOL nScCol, SCROW nScRow, const String& rText ) : - XclExpCrn( nScCol, nScRow, EXC_CACHEDVAL_STRING ), - maText( rText ) +void XclExpCrn::WriteDouble( XclExpStream& rStrm, double fValue ) { - // set correct size after maText is initialized - AddRecSize( maText.GetSize() ); + if( ::rtl::math::isNan( fValue ) ) + { + USHORT nScError = static_cast< USHORT >( reinterpret_cast< const sal_math_Double* >( &fValue )->nan_parts.fraction_lo ); + WriteError( rStrm, XclTools::GetXclErrorCode( nScError ) ); + } + else + { + rStrm << EXC_CACHEDVAL_DOUBLE << fValue; + } } -void XclExpCrnString::WriteAddData( XclExpStream& rStrm ) +void XclExpCrn::WriteString( XclExpStream& rStrm, const OUString& rValue ) { - rStrm << maText; + rStrm << EXC_CACHEDVAL_STRING << XclExpString( rValue ); } -// ---------------------------------------------------------------------------- - -XclExpCrnBool::XclExpCrnBool( SCCOL nScCol, SCROW nScRow, bool bBoolVal ) : - XclExpCrn( nScCol, nScRow, EXC_CACHEDVAL_BOOL, 8 ), - mnBool( bBoolVal ? 1 : 0 ) +void XclExpCrn::WriteError( XclExpStream& rStrm, sal_uInt8 nErrCode ) { + rStrm << EXC_CACHEDVAL_ERROR << nErrCode; + rStrm.WriteZeroBytes( 7 ); } -void XclExpCrnBool::WriteAddData( XclExpStream& rStrm ) +void XclExpCrn::WriteEmpty( XclExpStream& rStrm ) { - rStrm << mnBool; - rStrm.WriteZeroBytes( 6 ); + rStrm << EXC_CACHEDVAL_EMPTY; + rStrm.WriteZeroBytes( 8 ); } // Cached cells of a sheet ==================================================== -XclExpXct::XclExpXct( const String& rTabName, sal_uInt16 nSBTab ) : - XclExpRecord( EXC_ID_XCT, 4 ), +XclExpXct::XclExpXct( const XclExpRoot& rRoot, const String& rTabName, + sal_uInt16 nSBTab, ScExternalRefCache::TableTypeRef xCacheTable ) : + XclExpRoot( rRoot ), + mxCacheTable( xCacheTable ), + maBoundRange( ScAddress::INITIALIZE_INVALID ), maTabName( rTabName ), mnSBTab( nSBTab ) { } -void XclExpXct::StoreCellRange( const XclExpRoot& rRoot, const ScRange& rRange ) +void XclExpXct::StoreCellRange( const ScRange& rRange ) { // #i70418# restrict size of external range to prevent memory overflow if( (rRange.aEnd.Col() - rRange.aStart.Col()) * (rRange.aEnd.Row() - rRange.aStart.Row()) > 1024 ) return; - ScDocument& rDoc = rRoot.GetDoc(); - SvNumberFormatter& rFormatter = rRoot.GetFormatter(); - SCTAB nScTab = rRange.aStart.Tab(); - SCCOL nScLastCol = rRange.aEnd.Col(); - SCROW nScLastRow = rRange.aEnd.Row(); + maUsedCells.SetMultiMarkArea( rRange ); + maBoundRange.ExtendTo( rRange ); +} - for( SCROW nScRow = rRange.aStart.Row(); nScRow <= nScLastRow; ++nScRow ) - { - for( SCCOL nScCol = rRange.aStart.Col(); nScCol <= nScLastCol; ++nScCol ) - { - if( !maUsedCells.IsCellMarked( nScCol, nScRow, TRUE ) ) - { - XclExpCrnRef xCrn; - if( rDoc.HasValueData( nScCol, nScRow, nScTab ) ) - { - ScAddress aAddr( nScCol, nScRow, nScTab ); - double fVal = rDoc.GetValue( aAddr ); - ULONG nFormat = rDoc.GetNumberFormat( aAddr ); - short nType = rFormatter.GetType( nFormat ); - bool bIsBool = (nType == NUMBERFORMAT_LOGICAL); - - if( !bIsBool && ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) == 0) && - (rDoc.GetCellType( aAddr ) == CELLTYPE_FORMULA) ) - if( ScFormulaCell* pCell = static_cast< ScFormulaCell* >( rDoc.GetCell( aAddr ) ) ) - bIsBool = (pCell->GetFormatType() == NUMBERFORMAT_LOGICAL); - - if( bIsBool && ((fVal == 0.0) || (fVal == 1.0)) ) - xCrn.reset( new XclExpCrnBool( nScCol, nScRow, (fVal == 1.0) ) ); - else - xCrn.reset( new XclExpCrnDouble( nScCol, nScRow, fVal ) ); - } - else - { - String aText; - rDoc.GetString( nScCol, nScRow, nScTab, aText ); - xCrn.reset( new XclExpCrnString( nScCol, nScRow, aText ) ); - } - maCrnList.AppendRecord( xCrn ); - } - } - } +void XclExpXct::StoreCell( const ScAddress& rCell, const ::formula::FormulaToken& rToken ) +{ + maUsedCells.SetMultiMarkArea( ScRange( rCell ) ); + maBoundRange.ExtendTo( ScRange( rCell ) ); + (void)rToken; +} +void XclExpXct::StoreCellRange( const ScRange& rRange, const ::formula::FormulaToken& rToken ) +{ maUsedCells.SetMultiMarkArea( rRange ); + maBoundRange.ExtendTo( rRange ); + (void)rToken; } -void XclExpXct::StoreCell( const XclExpRoot& /*rRoot*/, const ScAddress& rCell, const formula::FormulaToken& rToken ) +namespace { + +class XclExpCrnList : public XclExpRecordList< XclExpCrn > { - switch (rToken.GetType()) - { - case svString: - { - XclExpCrnRef xCrn( - new XclExpCrnString(rCell.Col(), rCell.Row(), rToken.GetString())); - maCrnList.AppendRecord(xCrn); - } - break; - case svDouble: - { - XclExpCrnRef xCrn( - new XclExpCrnDouble(rCell.Col(), rCell.Row(), rToken.GetDouble())); - maCrnList.AppendRecord(xCrn); - } - break; - case svEmptyCell: - { - XclExpCrnRef xCrn( - new XclExpCrnDouble(rCell.Col(), rCell.Row(), 0.0)); - maCrnList.AppendRecord(xCrn); - } - break; - default: - ; // nothing - } +public: + /** Inserts the passed value into an existing or new CRN record. + @return True = value inserted successfully, false = CRN list is full. */ + bool InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue ); +}; + +bool XclExpCrnList::InsertValue( SCCOL nScCol, SCROW nScRow, const Any& rValue ) +{ + RecordRefType xLastRec = GetLastRecord(); + if( xLastRec.is() && xLastRec->InsertValue( nScCol, nScRow, rValue ) ) + return true; + if( GetSize() == SAL_MAX_UINT16 ) + return false; + AppendNewRecord( new XclExpCrn( nScCol, nScRow, rValue ) ); + return true; } -void XclExpXct::StoreCellRange( const XclExpRoot& /*rRoot*/, const ScRange& rRange, const formula::FormulaToken& rToken ) +} // namespace + +void XclExpXct::Save( XclExpStream& rStrm ) { - if (rToken.GetType() != svMatrix) + if( !mxCacheTable ) return; - if (rRange.aStart.Tab() != rRange.aEnd.Tab()) - // multi-table range is not supported here. + /* Get the range of used rows in the cache table. This may help to + optimize building the CRN record list if the cache table does not + contain all referred cells, e.g. if big empty ranges are used in the + formulas. */ + ::std::pair< SCROW, SCROW > aRowRange = mxCacheTable->getRowRange(); + if( aRowRange.first >= aRowRange.second ) return; - const ScMatrix* pMtx = static_cast<const ScToken*>(&rToken)->GetMatrix(); - if (!pMtx) + /* Crop the bounding range of used cells in this table to Excel limits. + Return if there is no external cell inside these limits. */ + if( !GetAddressConverter().ValidateRange( maBoundRange, false ) ) return; - SCSIZE nCols, nRows; - pMtx->GetDimensions(nCols, nRows); - const ScAddress& s = rRange.aStart; - const ScAddress& e = rRange.aEnd; - if (static_cast<SCCOL>(nCols) != e.Col() - s.Col() + 1 || - static_cast<SCROW>(nRows) != e.Row() - s.Row() + 1) - { - // size mis-match! + /* Find the resulting row range that needs to be processed. */ + SCROW nScRow1 = ::std::max( aRowRange.first, maBoundRange.aStart.Row() ); + SCROW nScRow2 = ::std::min( aRowRange.second - 1, maBoundRange.aEnd.Row() ); + if( nScRow1 > nScRow2 ) return; - } - for (SCCOL nCol = 0; nCol < static_cast< SCCOL >( nCols ); ++nCol) + /* Build and collect all CRN records before writing the XCT record. This + is needed to determine the total number of CRN records which must be + known when writing the XCT record (possibly encrypted, so seeking the + output strem back after writing the CRN records is not an option). */ + XclExpCrnList aCrnRecs; + SvNumberFormatter& rFormatter = GetFormatter(); + bool bValid = true; + for( SCROW nScRow = nScRow1; bValid && (nScRow <= nScRow2); ++nScRow ) { - for (SCROW nRow = 0; nRow < static_cast< SCROW >( nRows ); ++nRow) + ::std::pair< SCCOL, SCCOL > aColRange = mxCacheTable->getColRange( nScRow ); + for( SCCOL nScCol = aColRange.first; bValid && (nScCol < aColRange.second); ++nScCol ) { - if (pMtx->IsString(nCol, nRow)) + if( maUsedCells.IsCellMarked( nScCol, nScRow, TRUE ) ) { - XclExpCrnRef xCrn(new XclExpCrnString( - s.Col() + nCol, s.Row() + nRow, pMtx->GetString(nCol, nRow))); - maCrnList.AppendRecord(xCrn); - } - else if (pMtx->IsValueOrEmpty(nCol, nRow)) - { - XclExpCrnRef xCrn(new XclExpCrnDouble( - s.Col() + nCol, s.Row() + nRow, pMtx->GetDouble(nCol, nRow))); - maCrnList.AppendRecord(xCrn); + sal_uInt32 nScNumFmt = 0; + ScExternalRefCache::TokenRef xToken = mxCacheTable->getCell( nScCol, nScRow, &nScNumFmt ); + using namespace ::formula; + if( xToken.get() ) switch( xToken->GetType() ) + { + case svDouble: + bValid = (rFormatter.GetType( nScNumFmt ) == NUMBERFORMAT_LOGICAL) ? + aCrnRecs.InsertValue( nScCol, nScRow, Any( xToken->GetDouble() != 0 ) ) : + aCrnRecs.InsertValue( nScCol, nScRow, Any( xToken->GetDouble() ) ); + break; + case svString: + // do not save empty strings (empty cells) to cache + if( xToken->GetString().Len() > 0 ) + bValid = aCrnRecs.InsertValue( nScCol, nScRow, Any( OUString( xToken->GetString() ) ) ); + break; + default: + break; + } } } } -} -void XclExpXct::Save( XclExpStream& rStrm ) -{ - XclExpRecord::Save( rStrm ); - maCrnList.Save( rStrm ); -} - -void XclExpXct::WriteBody( XclExpStream& rStrm ) -{ - sal_uInt16 nCount = ulimit_cast< sal_uInt16 >( maCrnList.GetSize() ); - rStrm << nCount << mnSBTab; + // write the XCT record and the list of CRN records + rStrm.StartRecord( EXC_ID_XCT, 4 ); + rStrm << static_cast< sal_uInt16 >( aCrnRecs.GetSize() ) << mnSBTab; + rStrm.EndRecord(); + aCrnRecs.Save( rStrm ); } // External documents (EXTERNSHEET/SUPBOOK), base class ======================= @@ -1471,15 +1418,11 @@ XclExpSupbook::XclExpSupbook( const XclExpRoot& rRoot, const String& rUrl ) : // We need to create all tables up front to ensure the correct table order. ScExternalRefManager* pRefMgr = rRoot.GetDoc().GetExternalRefManager(); - sal_uInt16 nFileId = pRefMgr->getExternalFileId(rUrl); - vector<String> aTabNames; - pRefMgr->getAllCachedTableNames(nFileId, aTabNames); - if (aTabNames.empty()) - return; - - vector<String>::const_iterator itr = aTabNames.begin(), itrEnd = aTabNames.end(); - for (; itr != itrEnd; ++itr) - InsertTabName(*itr); + sal_uInt16 nFileId = pRefMgr->getExternalFileId( rUrl ); + ScfStringVec aTabNames; + pRefMgr->getAllCachedTableNames( nFileId, aTabNames ); + for( ScfStringVec::const_iterator aBeg = aTabNames.begin(), aIt = aBeg, aEnd = aTabNames.end(); aIt != aEnd; ++aIt ) + InsertTabName( *aIt, pRefMgr->getCacheTable( nFileId, aIt - aBeg ) ); } XclExpSupbook::XclExpSupbook( const XclExpRoot& rRoot, const String& rApplic, const String& rTopic ) : @@ -1513,31 +1456,22 @@ void XclExpSupbook::FillRefLogEntry( XclExpRefLogEntry& rRefLogEntry, void XclExpSupbook::StoreCellRange( const ScRange& rRange, sal_uInt16 nSBTab ) { - XclExpXctRef xXct = maXctList.GetRecord( nSBTab ); - if( xXct.is() ) - xXct->StoreCellRange( GetRoot(), rRange ); + if( XclExpXct* pXct = maXctList.GetRecord( nSBTab ).get() ) + pXct->StoreCellRange( rRange ); } void XclExpSupbook::StoreCell( sal_uInt16 nSBTab, const ScAddress& rCell, const formula::FormulaToken& rToken ) { - XclExpXctRef xXct = maXctList.GetRecord(nSBTab); - if (!xXct.is()) - return; - - xXct->StoreCell(GetRoot(), rCell, rToken); + if( XclExpXct* pXct = maXctList.GetRecord( nSBTab ).get() ) + pXct->StoreCell( rCell, rToken ); } void XclExpSupbook::StoreCellRange( sal_uInt16 nSBTab, const ScRange& rRange, const formula::FormulaToken& rToken ) { - if (rRange.aStart.Tab() != rRange.aEnd.Tab()) - // multi-table range is not allowed! - return; - - XclExpXctRef xXct = maXctList.GetRecord(nSBTab); - if (!xXct.is()) - return; - - xXct->StoreCellRange(GetRoot(), rRange, rToken); + // multi-table range is not allowed! + if( rRange.aStart.Tab() == rRange.aEnd.Tab() ) + if( XclExpXct* pXct = maXctList.GetRecord( nSBTab ).get() ) + pXct->StoreCellRange( rRange, rToken ); } sal_uInt16 XclExpSupbook::GetTabIndex( const String& rTabName ) const @@ -1558,11 +1492,11 @@ sal_uInt16 XclExpSupbook::GetTabCount() const return ulimit_cast<sal_uInt16>(maXctList.GetSize()); } -sal_uInt16 XclExpSupbook::InsertTabName( const String& rTabName ) +sal_uInt16 XclExpSupbook::InsertTabName( const String& rTabName, ScExternalRefCache::TableTypeRef xCacheTable ) { DBG_ASSERT( meType == EXC_SBTYPE_EXTERN, "XclExpSupbook::InsertTabName - don't insert sheet names here" ); sal_uInt16 nSBTab = ulimit_cast< sal_uInt16 >( maXctList.GetSize() ); - XclExpXctRef xXct( new XclExpXct( rTabName, nSBTab ) ); + XclExpXctRef xXct( new XclExpXct( GetRoot(), rTabName, nSBTab, xCacheTable ) ); AddRecSize( xXct->GetTabName().GetSize() ); maXctList.AppendRecord( xXct ); return nSBTab; @@ -1786,6 +1720,7 @@ void XclExpSupbookBuffer::StoreCellRange( sal_uInt16 nFileId, const String& rTab SCTAB nTabCount = rRange.aEnd.Tab() - rRange.aStart.Tab() + 1; // If this is a multi-table range, get token for each table. + using namespace ::formula; vector<FormulaToken*> aMatrixList; aMatrixList.reserve(nTabCount); diff --git a/sc/source/filter/excel/xiescher.cxx b/sc/source/filter/excel/xiescher.cxx index 64ed79e3d3b2..3d055d94a498 100644 --- a/sc/source/filter/excel/xiescher.cxx +++ b/sc/source/filter/excel/xiescher.cxx @@ -478,14 +478,14 @@ void XclImpDrawObjBase::PreProcessSdrObject( XclImpDffConverter& rDffConv, SdrOb { if( ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( &rSdrObj, TRUE ) ) { - pInfo->SetMacro( XclControlHelper::GetScMacroName( maMacroName ) ); + pInfo->SetMacro( XclControlHelper::GetScMacroName( maMacroName, GetDocShell() ) ); pInfo->SetHlink( maHyperlink ); } } #else if( mbSimpleMacro && (maMacroName.Len() > 0) ) if( ScMacroInfo* pInfo = ScDrawLayer::GetMacroInfo( &rSdrObj, TRUE ) ) - pInfo->SetMacro( XclControlHelper::GetScMacroName( maMacroName ) ); + pInfo->SetMacro( XclControlHelper::GetScMacroName( maMacroName, GetDocShell() ) ); #endif // call virtual function for object type specific processing @@ -1947,7 +1947,7 @@ void XclImpTbxObjBase::SetDffProperties( const DffPropSet& rDffPropSet ) bool XclImpTbxObjBase::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor ) const { - return XclControlHelper::FillMacroDescriptor( rDescriptor, DoGetEventType(), GetMacroName() ); + return XclControlHelper::FillMacroDescriptor( rDescriptor, DoGetEventType(), GetMacroName(), GetDocShell() ); } void XclImpTbxObjBase::ConvertFont( ScfPropertySet& rPropSet ) const diff --git a/sc/source/filter/excel/xihelper.cxx b/sc/source/filter/excel/xihelper.cxx index 1afcba154c4a..ad04a1f3930c 100644 --- a/sc/source/filter/excel/xihelper.cxx +++ b/sc/source/filter/excel/xihelper.cxx @@ -837,7 +837,7 @@ XclImpCachedValue::~XclImpCachedValue() { } -USHORT XclImpCachedValue::GetError() const +USHORT XclImpCachedValue::GetScError() const { return (mnType == EXC_CACHEDVAL_ERROR) ? XclTools::GetScErrorCode( mnBoolErr ) : 0; } @@ -901,7 +901,7 @@ ScMatrixRef XclImpCachedMatrix::CreateScMatrix() const xScMatrix->PutBoolean( pValue->GetBool(), nScCol, nScRow ); break; case EXC_CACHEDVAL_ERROR: - xScMatrix->PutError( pValue->GetError(), nScCol, nScRow ); + xScMatrix->PutError( pValue->GetScError(), nScCol, nScRow ); break; default: DBG_ERRORFILE( "XclImpCachedMatrix::CreateScMatrix - unknown value type" ); diff --git a/sc/source/filter/excel/xilink.cxx b/sc/source/filter/excel/xilink.cxx index 1183b077b626..45eed0fd98a9 100644 --- a/sc/source/filter/excel/xilink.cxx +++ b/sc/source/filter/excel/xilink.cxx @@ -413,6 +413,11 @@ void XclImpSupbookTab::LoadCachedValues(ScExternalRefCache::TableTypeRef pCacheT switch (p->GetType()) { case EXC_CACHEDVAL_BOOL: + { + bool b = p->GetBool(); + ScExternalRefCache::TokenRef pToken(new formula::FormulaDoubleToken(b ? 1.0 : 0.0)); + pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken); + } break; case EXC_CACHEDVAL_DOUBLE: { @@ -421,9 +426,12 @@ void XclImpSupbookTab::LoadCachedValues(ScExternalRefCache::TableTypeRef pCacheT pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken); } break; - case EXC_CACHEDVAL_EMPTY: - break; case EXC_CACHEDVAL_ERROR: + { + double fError = XclTools::ErrorToDouble( p->GetXclError() ); + ScExternalRefCache::TokenRef pToken(new formula::FormulaDoubleToken(fError)); + pCacheTable->setCell(rAddr.mnCol, rAddr.mnRow, pToken); + } break; case EXC_CACHEDVAL_STRING: { diff --git a/sc/source/filter/excel/xistyle.cxx b/sc/source/filter/excel/xistyle.cxx index 4e0ff5079471..1559ef5530f5 100644 --- a/sc/source/filter/excel/xistyle.cxx +++ b/sc/source/filter/excel/xistyle.cxx @@ -701,7 +701,6 @@ void XclImpCellAlign::FillToItemSet( SfxItemSet& rItemSet, const XclImpFont* pFo sal_uInt8 nXclRot = (mnOrient == EXC_ORIENT_NONE) ? mnRotation : XclTools::GetXclRotFromOrient( mnOrient ); bool bStacked = (nXclRot == EXC_ROT_STACKED); ScfTools::PutItem( rItemSet, SfxBoolItem( ATTR_STACKED, bStacked ), bSkipPoolDefs ); - ScfTools::PutItem( rItemSet, SvxRotateModeItem( SVX_ROTATE_MODE_STANDARD, ATTR_ROTATE_MODE ), bSkipPoolDefs ); // set an angle in the range from -90 to 90 degrees sal_Int32 nAngle = XclTools::GetScRotation( nXclRot, 0 ); ScfTools::PutItem( rItemSet, SfxInt32Item( ATTR_ROTATE_VALUE, nAngle ), bSkipPoolDefs ); @@ -799,6 +798,15 @@ void XclImpCellBorder::FillFromCF8( sal_uInt16 nLineStyle, sal_uInt32 nLineColor mbDiagUsed = false; } +bool XclImpCellBorder::HasAnyOuterBorder() const +{ + return + (mbLeftUsed && (mnLeftLine != EXC_LINE_NONE)) || + (mbRightUsed && (mnRightLine != EXC_LINE_NONE)) || + (mbTopUsed && (mnTopLine != EXC_LINE_NONE)) || + (mbBottomUsed && (mnBottomLine != EXC_LINE_NONE)); +} + namespace { /** Converts the passed line style to a SvxBorderLine, or returns false, if style is "no line". */ @@ -1091,13 +1099,32 @@ const ScPatternAttr& XclImpXF::CreatePattern( bool bSkipPoolDefs ) // create new pattern attribute set mpPattern.reset( new ScPatternAttr( GetDoc().GetPool() ) ); SfxItemSet& rItemSet = mpPattern->GetItemSet(); + XclImpXF* pParentXF = IsCellXF() ? GetXFBuffer().GetXF( mnParent ) : 0; // parent cell style if( IsCellXF() && !mpStyleSheet ) { mpStyleSheet = GetXFBuffer().CreateStyleSheet( mnParent ); - if( XclImpXF* pParentXF = GetXFBuffer().GetXF( mnParent ) ) - UpdateUsedFlags( *pParentXF ); + + /* Enables mb***Used flags, if the formatting attributes differ from + the passed XF record. In cell XFs Excel uses the cell attributes, + if they differ from the parent style XF. + #109899# ...or if the respective flag is not set in parent style XF. */ + if( pParentXF ) + { + if( !mbProtUsed ) + mbProtUsed = !pParentXF->mbProtUsed || !(maProtection == pParentXF->maProtection); + if( !mbFontUsed ) + mbFontUsed = !pParentXF->mbFontUsed || (mnXclFont != pParentXF->mnXclFont); + if( !mbFmtUsed ) + mbFmtUsed = !pParentXF->mbFmtUsed || (mnXclNumFmt != pParentXF->mnXclNumFmt); + if( !mbAlignUsed ) + mbAlignUsed = !pParentXF->mbAlignUsed || !(maAlignment == pParentXF->maAlignment); + if( !mbBorderUsed ) + mbBorderUsed = !pParentXF->mbBorderUsed || !(maBorder == pParentXF->maBorder); + if( !mbAreaUsed ) + mbAreaUsed = !pParentXF->mbAreaUsed || !(maArea == pParentXF->maArea); + } } // cell protection @@ -1137,6 +1164,20 @@ const ScPatternAttr& XclImpXF::CreatePattern( bool bSkipPoolDefs ) maArea.mnPattern != EXC_PATT_SOLID); } + /* #i38709# Decide which rotation reference mode to use. If any outer + border line of the cell is set (either explicitly or via cell style), + and the cell contents are rotated, set rotation reference to bottom of + cell. This causes the borders to be painted rotated with the text. */ + if( mbAlignUsed || mbBorderUsed ) + { + SvxRotateMode eRotateMode = SVX_ROTATE_MODE_STANDARD; + const XclImpCellAlign* pAlign = mbAlignUsed ? &maAlignment : (pParentXF ? &pParentXF->maAlignment : 0); + const XclImpCellBorder* pBorder = mbBorderUsed ? &maBorder : (pParentXF ? &pParentXF->maBorder : 0); + if( pAlign && pBorder && (0 < pAlign->mnRotation) && (pAlign->mnRotation <= 180) && pBorder->HasAnyOuterBorder() ) + eRotateMode = SVX_ROTATE_MODE_BOTTOM; + ScfTools::PutItem( rItemSet, SvxRotateModeItem( eRotateMode, ATTR_ROTATE_MODE ), bSkipPoolDefs ); + } + return *mpPattern; } @@ -1180,26 +1221,6 @@ void XclImpXF::SetUsedFlags( sal_uInt8 nUsedFlags ) mbAreaUsed = (mbCellXF == ::get_flag( nUsedFlags, EXC_XF_DIFF_AREA )); } -void XclImpXF::UpdateUsedFlags( const XclImpXF& rParentXF ) -{ - /* Enables mb***Used flags, if the formatting attributes differ from - the passed XF record. In cell XFs Excel uses the cell attributes, - if they differ from the parent style XF. - #109899# ...or if the respective flag is not set in parent style XF. */ - if( !mbProtUsed ) - mbProtUsed = !rParentXF.mbProtUsed || !(maProtection == rParentXF.maProtection); - if( !mbFontUsed ) - mbFontUsed = !rParentXF.mbFontUsed || (mnXclFont != rParentXF.mnXclFont); - if( !mbFmtUsed ) - mbFmtUsed = !rParentXF.mbFmtUsed || (mnXclNumFmt != rParentXF.mnXclNumFmt); - if( !mbAlignUsed ) - mbAlignUsed = !rParentXF.mbAlignUsed || !(maAlignment == rParentXF.maAlignment); - if( !mbBorderUsed ) - mbBorderUsed = !rParentXF.mbBorderUsed || !(maBorder == rParentXF.maBorder); - if( !mbAreaUsed ) - mbAreaUsed = !rParentXF.mbAreaUsed || !(maArea == rParentXF.maArea); -} - // ---------------------------------------------------------------------------- XclImpStyle::XclImpStyle( const XclImpRoot& rRoot ) : diff --git a/sc/source/filter/excel/xlescher.cxx b/sc/source/filter/excel/xlescher.cxx index 538fd7fd7242..e1132c1b5606 100644 --- a/sc/source/filter/excel/xlescher.cxx +++ b/sc/source/filter/excel/xlescher.cxx @@ -35,6 +35,7 @@ #include "document.hxx" #include "xistream.hxx" #include "xlescher.hxx" +#include <filter/msfilter/msvbahelper.hxx> using ::rtl::OUString; using ::com::sun::star::uno::Reference; @@ -328,10 +329,16 @@ Reference< XControlModel > XclControlHelper::GetControlModel( Reference< XShape #define EXC_MACRONAME_PRE "vnd.sun.star.script:Standard." #define EXC_MACRONAME_SUF "?language=Basic&location=document" -OUString XclControlHelper::GetScMacroName( const String& rXclMacroName ) +OUString XclControlHelper::GetScMacroName( const String& rXclMacroName, SfxObjectShell* pDocShell ) { + String sTmp( rXclMacroName ); if( rXclMacroName.Len() > 0 ) - return CREATE_OUSTRING( EXC_MACRONAME_PRE ) + rXclMacroName + CREATE_OUSTRING( EXC_MACRONAME_SUF ); + { + ooo::vba::VBAMacroResolvedInfo aMacro = ooo::vba::resolveVBAMacro( pDocShell, rXclMacroName, false ); + if ( aMacro.IsResolved() ) + return ooo::vba::makeMacroURL( aMacro.ResolvedMacro() ); + + } return OUString(); } @@ -365,14 +372,14 @@ spTbxListenerData[] = #define EXC_MACROSCRIPT "Script" bool XclControlHelper::FillMacroDescriptor( ScriptEventDescriptor& rDescriptor, - XclTbxEventType eEventType, const String& rXclMacroName ) + XclTbxEventType eEventType, const String& rXclMacroName, SfxObjectShell* pShell ) { if( rXclMacroName.Len() > 0 ) { rDescriptor.ListenerType = OUString::createFromAscii( spTbxListenerData[ eEventType ].mpcListenerType ); rDescriptor.EventMethod = OUString::createFromAscii( spTbxListenerData[ eEventType ].mpcEventMethod ); rDescriptor.ScriptType = CREATE_OUSTRING( EXC_MACROSCRIPT ); - rDescriptor.ScriptCode = GetScMacroName( rXclMacroName ); + rDescriptor.ScriptCode = GetScMacroName( rXclMacroName, pShell ); return true; } return false; diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx index c46df189ab74..d613f1279242 100644 --- a/sc/source/filter/excel/xlformula.cxx +++ b/sc/source/filter/excel/xlformula.cxx @@ -68,22 +68,28 @@ const sal_uInt8 A = EXC_TOKCLASS_ARR; #define VR_E { EXC_PARAM_EXCELONLY, EXC_PARAMCONV_RPT, true } #define C { EXC_PARAM_CALCONLY, EXC_PARAMCONV_ORG, false } +const sal_uInt16 NOID = SAL_MAX_UINT16; /// No BIFF/OOBIN function identifier available. +const sal_uInt8 MX = 30; /// Maximum parameter count. + +#define EXC_FUNCNAME( ascii ) "_xlfn." ascii +#define EXC_FUNCNAME_ODF( ascii ) "_xlfnodf." ascii + /** Functions new in BIFF2. */ static const XclFunctionInfo saFuncTable_2[] = { - { ocCount, 0, 0, 30, V, { RX }, 0, 0 }, + { ocCount, 0, 0, MX, V, { RX }, 0, 0 }, { ocIf, 1, 2, 3, R, { VO, RO }, 0, 0 }, { ocIsNA, 2, 1, 1, V, { VR }, 0, 0 }, { ocIsError, 3, 1, 1, V, { VR }, 0, 0 }, - { ocSum, 4, 0, 30, V, { RX }, 0, 0 }, - { ocAverage, 5, 1, 30, V, { RX }, 0, 0 }, - { ocMin, 6, 1, 30, V, { RX }, 0, 0 }, - { ocMax, 7, 1, 30, V, { RX }, 0, 0 }, + { ocSum, 4, 0, MX, V, { RX }, 0, 0 }, + { ocAverage, 5, 1, MX, V, { RX }, 0, 0 }, + { ocMin, 6, 1, MX, V, { RX }, 0, 0 }, + { ocMax, 7, 1, MX, V, { RX }, 0, 0 }, { ocRow, 8, 0, 1, V, { RO }, 0, 0 }, { ocColumn, 9, 0, 1, V, { RO }, 0, 0 }, { ocNotAvail, 10, 0, 0, V, {}, 0, 0 }, - { ocNPV, 11, 2, 30, V, { VR, RX }, 0, 0 }, - { ocStDev, 12, 1, 30, V, { RX }, 0, 0 }, + { ocNPV, 11, 2, MX, V, { VR, RX }, 0, 0 }, + { ocStDev, 12, 1, MX, V, { RX }, 0, 0 }, { ocCurrency, 13, 1, 2, V, { VR }, 0, 0 }, { ocFixed, 14, 1, 2, V, { VR, VR, C }, 0, 0 }, { ocSin, 15, 1, 1, V, { VR }, 0, 0 }, @@ -109,8 +115,8 @@ static const XclFunctionInfo saFuncTable_2[] = { ocValue, 33, 1, 1, V, { VR }, 0, 0 }, { ocTrue, 34, 0, 0, V, {}, 0, 0 }, { ocFalse, 35, 0, 0, V, {}, 0, 0 }, - { ocAnd, 36, 1, 30, V, { RX }, 0, 0 }, - { ocOr, 37, 1, 30, V, { RX }, 0, 0 }, + { ocAnd, 36, 1, MX, V, { RX }, 0, 0 }, + { ocOr, 37, 1, MX, V, { RX }, 0, 0 }, { ocNot, 38, 1, 1, V, { VR }, 0, 0 }, { ocMod, 39, 2, 2, V, { VR }, 0, 0 }, { ocDBCount, 40, 3, 3, V, { RO, RR }, 0, 0 }, @@ -119,7 +125,7 @@ static const XclFunctionInfo saFuncTable_2[] = { ocDBMin, 43, 3, 3, V, { RO, RR }, 0, 0 }, { ocDBMax, 44, 3, 3, V, { RO, RR }, 0, 0 }, { ocDBStdDev, 45, 3, 3, V, { RO, RR }, 0, 0 }, - { ocVar, 46, 1, 30, V, { RX }, 0, 0 }, + { ocVar, 46, 1, MX, V, { RX }, 0, 0 }, { ocDBVar, 47, 3, 3, V, { RO, RR }, 0, 0 }, { ocText, 48, 2, 2, V, { VR }, 0, 0 }, { ocRGP, 49, 1, 2, A, { RA, RA, C, C }, 0, 0 }, @@ -155,7 +161,7 @@ static const XclFunctionInfo saFuncTable_2[] = { ocArcTan2, 97, 2, 2, V, { VR }, 0, 0 }, { ocArcSin, 98, 1, 1, V, { VR }, 0, 0 }, { ocArcCos, 99, 1, 1, V, { VR }, 0, 0 }, - { ocChose, 100, 2, 30, R, { VO, RO }, 0, 0 }, + { ocChose, 100, 2, MX, R, { VO, RO }, 0, 0 }, { ocHLookup, 101, 3, 3, V, { VV, RO, RO, C }, 0, 0 }, { ocVLookup, 102, 3, 3, V, { VV, RO, RO, C }, 0, 0 }, { ocIsRef, 105, 1, 1, V, { RX }, 0, 0 }, @@ -191,13 +197,13 @@ static const XclFunctionInfo saFuncTable_2[] = { ocMatMult, 165, 2, 2, A, { VA }, 0, 0 }, { ocZinsZ, 167, 4, 6, V, { VR }, 0, 0 }, { ocKapz, 168, 4, 6, V, { VR }, 0, 0 }, - { ocCount2, 169, 0, 30, V, { RX }, 0, 0 }, - { ocProduct, 183, 0, 30, V, { RX }, 0, 0 }, + { ocCount2, 169, 0, MX, V, { RX }, 0, 0 }, + { ocProduct, 183, 0, MX, V, { RX }, 0, 0 }, { ocFact, 184, 1, 1, V, { VR }, 0, 0 }, { ocDBProduct, 189, 3, 3, V, { RO, RR }, 0, 0 }, { ocIsNonString, 190, 1, 1, V, { VR }, 0, 0 }, - { ocStDevP, 193, 1, 30, V, { RX }, 0, 0 }, - { ocVarP, 194, 1, 30, V, { RX }, 0, 0 }, + { ocStDevP, 193, 1, MX, V, { RX }, 0, 0 }, + { ocVarP, 194, 1, MX, V, { RX }, 0, 0 }, { ocDBStdDevP, 195, 3, 3, V, { RO, RR }, 0, 0 }, { ocDBVarP, 196, 3, 3, V, { RO, RR }, 0, 0 }, { ocTrunc, 197, 1, 1, V, { VR, C }, 0, 0 }, @@ -206,7 +212,7 @@ static const XclFunctionInfo saFuncTable_2[] = { ocCurrency, 204, 1, 2, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, 0 }, { ocRoundUp, 212, 2, 2, V, { VR }, 0, 0 }, { ocRoundDown, 213, 2, 2, V, { VR }, 0, 0 }, - { ocExternal, 255, 1, 30, R, { RO_E, RO }, EXC_FUNCFLAG_IMPORTONLY, 0 } + { ocExternal, 255, 1, MX, R, { RO_E, RO }, EXC_FUNCFLAG_IMPORTONLY, 0 } }; /** Functions new in BIFF3. */ @@ -221,8 +227,8 @@ static const XclFunctionInfo saFuncTable_3[] = { ocGetDiffDate360, 220, 2, 2, V, { VR, VR, C }, 0, 0 }, { ocGetActDate, 221, 0, 0, V, {}, EXC_FUNCFLAG_VOLATILE, 0 }, { ocVBD, 222, 5, 7, V, { VR }, 0, 0 }, - { ocMedian, 227, 1, 30, V, { RX }, 0, 0 }, - { ocSumProduct, 228, 1, 30, V, { VA }, 0, 0 }, + { ocMedian, 227, 1, MX, V, { RX }, 0, 0 }, + { ocSumProduct, 228, 1, MX, V, { VA }, 0, 0 }, { ocSinHyp, 229, 1, 1, V, { VR }, 0, 0 }, { ocCosHyp, 230, 1, 1, V, { VR }, 0, 0 }, { ocTanHyp, 231, 1, 1, V, { VR }, 0, 0 }, @@ -245,7 +251,7 @@ static const XclFunctionInfo saFuncTable_4[] = { ocGDA2, 247, 4, 5, V, { VR }, 0, 0 }, { ocFrequency, 252, 2, 2, A, { RA }, 0, 0 }, { ocErrorType, 261, 1, 1, V, { VR }, 0, 0 }, - { ocAveDev, 269, 1, 30, V, { RX }, 0, 0 }, + { ocAveDev, 269, 1, MX, V, { RX }, 0, 0 }, { ocBetaDist, 270, 3, 5, V, { VR }, 0, 0 }, { ocGammaLn, 271, 1, 1, V, { VR }, 0, 0 }, { ocBetaInv, 272, 3, 5, V, { VR }, 0, 0 }, @@ -294,19 +300,19 @@ static const XclFunctionInfo saFuncTable_4[] = { ocSlope, 315, 2, 2, V, { VA }, 0, 0 }, { ocTTest, 316, 4, 4, V, { VA, VA, VR }, 0, 0 }, { ocProb, 317, 3, 4, V, { VA, VA, VR }, 0, 0 }, - { ocDevSq, 318, 1, 30, V, { RX }, 0, 0 }, - { ocGeoMean, 319, 1, 30, V, { RX }, 0, 0 }, - { ocHarMean, 320, 1, 30, V, { RX }, 0, 0 }, - { ocSumSQ, 321, 0, 30, V, { RX }, 0, 0 }, - { ocKurt, 322, 1, 30, V, { RX }, 0, 0 }, - { ocSchiefe, 323, 1, 30, V, { RX }, 0, 0 }, + { ocDevSq, 318, 1, MX, V, { RX }, 0, 0 }, + { ocGeoMean, 319, 1, MX, V, { RX }, 0, 0 }, + { ocHarMean, 320, 1, MX, V, { RX }, 0, 0 }, + { ocSumSQ, 321, 0, MX, V, { RX }, 0, 0 }, + { ocKurt, 322, 1, MX, V, { RX }, 0, 0 }, + { ocSchiefe, 323, 1, MX, V, { RX }, 0, 0 }, { ocZTest, 324, 2, 3, V, { RX, VR }, 0, 0 }, { ocLarge, 325, 2, 2, V, { RX, VR }, 0, 0 }, { ocSmall, 326, 2, 2, V, { RX, VR }, 0, 0 }, { ocQuartile, 327, 2, 2, V, { RX, VR }, 0, 0 }, { ocPercentile, 328, 2, 2, V, { RX, VR }, 0, 0 }, { ocPercentrank, 329, 2, 3, V, { RX, VR, VR_E }, 0, 0 }, - { ocModalValue, 330, 1, 30, V, { VA }, 0, 0 }, + { ocModalValue, 330, 1, MX, V, { VA }, 0, 0 }, { ocTrimMean, 331, 2, 2, V, { RX, VR }, 0, 0 }, { ocTInv, 332, 2, 2, V, { VR }, 0, 0 } }; @@ -318,13 +324,13 @@ static const XclFunctionInfo saFuncTable_5[] = { ocHLookup, 101, 3, 4, V, { VV, RO, RO, VV }, 0, 0 }, // BIFF2-4: 3, BIFF5: 3-4 { ocVLookup, 102, 3, 4, V, { VV, RO, RO, VV }, 0, 0 }, // BIFF2-4: 3, BIFF5: 3-4 { ocGetDiffDate360, 220, 2, 3, V, { VR }, 0, 0 }, // BIFF3-4: 2, BIFF5: 2-3 - { ocMacro, 255, 1, 30, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, 0 }, - { ocExternal, 255, 1, 30, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, 0 }, - { ocConcat, 336, 0, 30, V, { VR }, 0, 0 }, + { ocMacro, 255, 1, MX, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocExternal, 255, 1, MX, R, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, 0 }, + { ocConcat, 336, 0, MX, V, { VR }, 0, 0 }, { ocPower, 337, 2, 2, V, { VR }, 0, 0 }, { ocRad, 342, 1, 1, V, { VR }, 0, 0 }, { ocDeg, 343, 1, 1, V, { VR }, 0, 0 }, - { ocSubTotal, 344, 2, 30, V, { VR, RO }, 0, 0 }, + { ocSubTotal, 344, 2, MX, V, { VR, RO }, 0, 0 }, { ocSumIf, 345, 2, 3, V, { RO, VR, RO }, 0, 0 }, { ocCountIf, 346, 2, 2, V, { RO, VR }, 0, 0 }, { ocCountEmptyCells, 347, 1, 1, V, { RO }, 0, 0 }, @@ -335,66 +341,90 @@ static const XclFunctionInfo saFuncTable_5[] = { ocRoman, 354, 1, 2, V, { VR }, 0, 0 } }; -#define EXC_FUNCNAME_PREFIX "_xlfn." - -const sal_Char* const EXC_FUNCNAME_BAHTTEXT = EXC_FUNCNAME_PREFIX "BAHTTEXT"; - /** Functions new in BIFF8. Unsupported functions: PHONETIC. */ static const XclFunctionInfo saFuncTable_8[] = { - { ocGetPivotData, 358, 2, 30, V, { RR, RR, VR }, 0, 0 }, + { ocGetPivotData, 358, 2, MX, V, { RR, RR, VR }, 0, 0 }, { ocHyperLink, 359, 1, 2, V, { VV, VO }, 0, 0 }, { ocNoName, 360, 1, 1, V, { RO }, EXC_FUNCFLAG_IMPORTONLY, 0 }, // PHONETIC - { ocAverageA, 361, 1, 30, V, { RX }, 0, 0 }, - { ocMaxA, 362, 1, 30, V, { RX }, 0, 0 }, - { ocMinA, 363, 1, 30, V, { RX }, 0, 0 }, - { ocStDevPA, 364, 1, 30, V, { RX }, 0, 0 }, - { ocVarPA, 365, 1, 30, V, { RX }, 0, 0 }, - { ocStDevA, 366, 1, 30, V, { RX }, 0, 0 }, - { ocVarA, 367, 1, 30, V, { RX }, 0, 0 }, - { ocBahtText, 368, 1, 1, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME_BAHTTEXT }, - { ocBahtText, 255, 2, 2, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME_BAHTTEXT }, + { ocAverageA, 361, 1, MX, V, { RX }, 0, 0 }, + { ocMaxA, 362, 1, MX, V, { RX }, 0, 0 }, + { ocMinA, 363, 1, MX, V, { RX }, 0, 0 }, + { ocStDevPA, 364, 1, MX, V, { RX }, 0, 0 }, + { ocVarPA, 365, 1, MX, V, { RX }, 0, 0 }, + { ocStDevA, 366, 1, MX, V, { RX }, 0, 0 }, + { ocVarA, 367, 1, MX, V, { RX }, 0, 0 }, + { ocBahtText, 368, 1, 1, V, { VR }, EXC_FUNCFLAG_IMPORTONLY, EXC_FUNCNAME( "BAHTTEXT" ) }, + { ocBahtText, 255, 2, 2, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, EXC_FUNCNAME( "BAHTTEXT" ) }, { ocEuroConvert, 255, 4, 6, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY, "EUROCONVERT" } }; +#define EXC_FUNCENTRY_ODF( opcode, minparam, maxparam, flags, asciiname ) \ + { opcode, NOID, minparam, maxparam, V, { VR }, EXC_FUNCFLAG_IMPORTONLY|(flags), EXC_FUNCNAME_ODF( asciiname ) }, \ + { opcode, 255, (minparam)+1, (maxparam)+1, V, { RO_E, RO }, EXC_FUNCFLAG_EXPORTONLY|(flags), EXC_FUNCNAME_ODF( asciiname ) } + +/** Functions defined by OpenFormula, but not supported by Calc (ocNoName) or by Excel (defined op-code). */ +static const XclFunctionInfo saFuncTable_Odf[] = +{ + EXC_FUNCENTRY_ODF( ocArabic, 1, 1, 0, "ARABIC" ), + EXC_FUNCENTRY_ODF( ocB, 3, 4, 0, "B" ), + EXC_FUNCENTRY_ODF( ocBase, 2, 3, 0, "BASE" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "BITAND" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "BITLSHIFT" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "BITOR" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "BITRSHIFT" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "BITXOR" ), + EXC_FUNCENTRY_ODF( ocChiSqDist, 2, 3, 0, "CHISQDIST" ), + EXC_FUNCENTRY_ODF( ocChiSqInv, 2, 2, 0, "CHISQINV" ), + EXC_FUNCENTRY_ODF( ocKombin2, 2, 2, 0, "COMBINA" ), + EXC_FUNCENTRY_ODF( ocGetDiffDate, 2, 2, 0, "DAYS" ), + EXC_FUNCENTRY_ODF( ocDecimal, 2, 2, 0, "DECIMAL" ), + EXC_FUNCENTRY_ODF( ocFDist, 3, 4, 0, "FDIST" ), + EXC_FUNCENTRY_ODF( ocFInv, 3, 3, 0, "FINV" ), + EXC_FUNCENTRY_ODF( ocFormula, 1, 1, 0, "FORMULA" ), + EXC_FUNCENTRY_ODF( ocGamma, 1, 1, 0, "GAMMA" ), + EXC_FUNCENTRY_ODF( ocGauss, 1, 1, 0, "GAUSS" ), + EXC_FUNCENTRY_ODF( ocNoName, 2, 2, 0, "IFNA" ), + EXC_FUNCENTRY_ODF( ocIsFormula, 1, 1, 0, "ISFORMULA" ), + EXC_FUNCENTRY_ODF( ocWeek, 1, 2, 0, "ISOWEEKNUM" ), + EXC_FUNCENTRY_ODF( ocMatrixUnit, 1, 1, 0, "MUNIT" ), + EXC_FUNCENTRY_ODF( ocNumberValue, 2, 2, 0, "NUMBERVALUE" ), + EXC_FUNCENTRY_ODF( ocLaufz, 3, 3, 0, "PDURATION" ), + EXC_FUNCENTRY_ODF( ocVariationen2, 2, 2, 0, "PERMUTATIONA" ), + EXC_FUNCENTRY_ODF( ocPhi, 1, 1, 0, "PHI" ), + EXC_FUNCENTRY_ODF( ocZGZ, 3, 3, 0, "RRI" ), + EXC_FUNCENTRY_ODF( ocTable, 1, 1, 0, "SHEET" ), + EXC_FUNCENTRY_ODF( ocTables, 0, 1, 0, "SHEETS" ), + EXC_FUNCENTRY_ODF( ocNoName, 1, MX, 0, "SKEWP" ), + EXC_FUNCENTRY_ODF( ocUnichar, 1, 1, 0, "UNICHAR" ), + EXC_FUNCENTRY_ODF( ocUnicode, 1, 1, 0, "UNICODE" ), + EXC_FUNCENTRY_ODF( ocNoName, 1, MX, 0, "XOR" ) +}; + +#undef EXC_FUNCENTRY_ODF + // ---------------------------------------------------------------------------- XclFunctionProvider::XclFunctionProvider( const XclRoot& rRoot ) { - XclBiff eBiff = rRoot.GetBiff(); + void (XclFunctionProvider::*pFillFunc)( const XclFunctionInfo*, const XclFunctionInfo* ) = + rRoot.IsImport() ? &XclFunctionProvider::FillXclFuncMap : &XclFunctionProvider::FillScFuncMap; - if( rRoot.IsImport() ) - { - /* Import: only read functions supported in the current BIFF version. - Function tables from later BIFF versions may overwrite single - functions from earlier tables. */ - if( eBiff >= EXC_BIFF2 ) - FillXclFuncMap( saFuncTable_2, STATIC_TABLE_END( saFuncTable_2 ) ); - if( eBiff >= EXC_BIFF3 ) - FillXclFuncMap( saFuncTable_3, STATIC_TABLE_END( saFuncTable_3 ) ); - if( eBiff >= EXC_BIFF4 ) - FillXclFuncMap( saFuncTable_4, STATIC_TABLE_END( saFuncTable_4 ) ); - if( eBiff >= EXC_BIFF5 ) - FillXclFuncMap( saFuncTable_5, STATIC_TABLE_END( saFuncTable_5 ) ); - if( eBiff >= EXC_BIFF8 ) - FillXclFuncMap( saFuncTable_8, STATIC_TABLE_END( saFuncTable_8 ) ); - } - else - { - /* Export: only write functions supported in the current BIFF version. - Function tables from later BIFF versions may overwrite single - functions from earlier tables. */ - if( eBiff >= EXC_BIFF2 ) - FillScFuncMap( saFuncTable_2, STATIC_TABLE_END( saFuncTable_2 ) ); - if( eBiff >= EXC_BIFF3 ) - FillScFuncMap( saFuncTable_3, STATIC_TABLE_END( saFuncTable_3 ) ); - if( eBiff >= EXC_BIFF4 ) - FillScFuncMap( saFuncTable_4, STATIC_TABLE_END( saFuncTable_4 ) ); - if( eBiff >= EXC_BIFF5 ) - FillScFuncMap( saFuncTable_5, STATIC_TABLE_END( saFuncTable_5 ) ); - if( eBiff >= EXC_BIFF8 ) - FillScFuncMap( saFuncTable_8, STATIC_TABLE_END( saFuncTable_8 ) ); - } + /* Only read/write functions supported in the current BIFF version. + Function tables from later BIFF versions may overwrite single functions + from earlier tables. */ + XclBiff eBiff = rRoot.GetBiff(); + if( eBiff >= EXC_BIFF2 ) + (this->*pFillFunc)( saFuncTable_2, STATIC_TABLE_END( saFuncTable_2 ) ); + if( eBiff >= EXC_BIFF3 ) + (this->*pFillFunc)( saFuncTable_3, STATIC_TABLE_END( saFuncTable_3 ) ); + if( eBiff >= EXC_BIFF4 ) + (this->*pFillFunc)( saFuncTable_4, STATIC_TABLE_END( saFuncTable_4 ) ); + if( eBiff >= EXC_BIFF5 ) + (this->*pFillFunc)( saFuncTable_5, STATIC_TABLE_END( saFuncTable_5 ) ); + if( eBiff >= EXC_BIFF8 ) + (this->*pFillFunc)( saFuncTable_8, STATIC_TABLE_END( saFuncTable_8 ) ); + (this->*pFillFunc)( saFuncTable_Odf, STATIC_TABLE_END( saFuncTable_Odf ) ); } const XclFunctionInfo* XclFunctionProvider::GetFuncInfoFromXclFunc( sal_uInt16 nXclFunc ) const diff --git a/sc/source/filter/excel/xltools.cxx b/sc/source/filter/excel/xltools.cxx index 926eb3e54fdc..90393ae6a787 100644 --- a/sc/source/filter/excel/xltools.cxx +++ b/sc/source/filter/excel/xltools.cxx @@ -113,7 +113,12 @@ const XclGuid XclTools::maGuidFileMoniker( double XclTools::GetDoubleFromRK( sal_Int32 nRKValue ) { - double fVal = 0.0; + union + { + double fVal; + sal_math_Double smD; + }; + fVal = 0.0; if( ::get_flag( nRKValue, EXC_RK_INTFLAG ) ) { @@ -123,8 +128,7 @@ double XclTools::GetDoubleFromRK( sal_Int32 nRKValue ) } else { - sal_math_Double* pDouble = reinterpret_cast< sal_math_Double* >( &fVal ); - pDouble->w32_parts.msw = nRKValue & EXC_RK_VALUEMASK; + smD.w32_parts.msw = nRKValue & EXC_RK_VALUEMASK; } if( ::get_flag( nRKValue, EXC_RK_100FLAG ) ) @@ -161,50 +165,6 @@ bool XclTools::GetRKFromDouble( sal_Int32& rnRKValue, double fValue ) return false; } - -sal_uInt8 XclTools::GetXclErrorCode( USHORT nScError ) -{ - using namespace ScErrorCodes; - switch( nScError ) - { - case errIllegalArgument: return EXC_ERR_VALUE; - case errIllegalFPOperation: return EXC_ERR_NUM; // maybe DIV/0 or NUM... - case errDivisionByZero: return EXC_ERR_DIV0; - case errIllegalParameter: return EXC_ERR_VALUE; - case errPairExpected: return EXC_ERR_VALUE; - case errOperatorExpected: return EXC_ERR_VALUE; - case errVariableExpected: return EXC_ERR_VALUE; - case errParameterExpected: return EXC_ERR_VALUE; - case errNoValue: return EXC_ERR_VALUE; - case errCircularReference: return EXC_ERR_VALUE; - case errNoCode: return EXC_ERR_NULL; - case errNoRef: return EXC_ERR_REF; - case errNoName: return EXC_ERR_NAME; - case errNoAddin: return EXC_ERR_NAME; - case errNoMacro: return EXC_ERR_NAME; - case NOTAVAILABLE: return EXC_ERR_NA; - } - return EXC_ERR_NA; -} - -USHORT XclTools::GetScErrorCode( sal_uInt8 nXclError ) -{ - using namespace ScErrorCodes; - switch( nXclError ) - { - case EXC_ERR_NULL: return errNoCode; - case EXC_ERR_DIV0: return errDivisionByZero; - case EXC_ERR_VALUE: return errNoValue; - case EXC_ERR_REF: return errNoRef; - case EXC_ERR_NAME: return errNoName; - case EXC_ERR_NUM: return errIllegalFPOperation; - case EXC_ERR_NA: return NOTAVAILABLE; - default: DBG_ERRORFILE( "XclTools::GetScErrorCode - unknown error code" ); - } - return NOTAVAILABLE; -} - - sal_Int32 XclTools::GetScRotation( sal_uInt16 nXclRot, sal_Int32 nRotForStacked ) { if( nXclRot == EXC_ROT_STACKED ) @@ -252,6 +212,59 @@ sal_uInt8 XclTools::GetXclOrientFromRot( sal_uInt16 nXclRot ) return EXC_ORIENT_NONE; } +sal_uInt8 XclTools::GetXclErrorCode( USHORT nScError ) +{ + using namespace ScErrorCodes; + switch( nScError ) + { + case errIllegalArgument: return EXC_ERR_VALUE; + case errIllegalFPOperation: return EXC_ERR_NUM; // maybe DIV/0 or NUM... + case errDivisionByZero: return EXC_ERR_DIV0; + case errIllegalParameter: return EXC_ERR_VALUE; + case errPairExpected: return EXC_ERR_VALUE; + case errOperatorExpected: return EXC_ERR_VALUE; + case errVariableExpected: return EXC_ERR_VALUE; + case errParameterExpected: return EXC_ERR_VALUE; + case errNoValue: return EXC_ERR_VALUE; + case errCircularReference: return EXC_ERR_VALUE; + case errNoCode: return EXC_ERR_NULL; + case errNoRef: return EXC_ERR_REF; + case errNoName: return EXC_ERR_NAME; + case errNoAddin: return EXC_ERR_NAME; + case errNoMacro: return EXC_ERR_NAME; + case NOTAVAILABLE: return EXC_ERR_NA; + } + return EXC_ERR_NA; +} + +USHORT XclTools::GetScErrorCode( sal_uInt8 nXclError ) +{ + using namespace ScErrorCodes; + switch( nXclError ) + { + case EXC_ERR_NULL: return errNoCode; + case EXC_ERR_DIV0: return errDivisionByZero; + case EXC_ERR_VALUE: return errNoValue; + case EXC_ERR_REF: return errNoRef; + case EXC_ERR_NAME: return errNoName; + case EXC_ERR_NUM: return errIllegalFPOperation; + case EXC_ERR_NA: return NOTAVAILABLE; + default: DBG_ERRORFILE( "XclTools::GetScErrorCode - unknown error code" ); + } + return NOTAVAILABLE; +} + +double XclTools::ErrorToDouble( sal_uInt8 nXclError ) +{ + union + { + double fVal; + sal_math_Double smD; + }; + ::rtl::math::setNan( &fVal ); + smD.nan_parts.fraction_lo = GetScErrorCode( nXclError ); + return fVal; +} XclBoolError XclTools::ErrorToEnum( double& rfDblValue, sal_uInt8 bErrOrBool, sal_uInt8 nValue ) { @@ -281,7 +294,6 @@ XclBoolError XclTools::ErrorToEnum( double& rfDblValue, sal_uInt8 bErrOrBool, sa return eType; } - sal_uInt16 XclTools::GetTwipsFromInch( double fInches ) { return static_cast< sal_uInt16 >( diff --git a/sc/source/filter/html/htmlexp.cxx b/sc/source/filter/html/htmlexp.cxx index e8c71d20af11..0ab97170621e 100644 --- a/sc/source/filter/html/htmlexp.cxx +++ b/sc/source/filter/html/htmlexp.cxx @@ -148,8 +148,6 @@ const sal_Char __FAR_DATA ScHTMLExport::sIndentSource[nIndentMax+1] = #define OUT_SP_CSTR_ASS( s ) rStrm << ' ' << s << '=' #define APPEND_SPACE( s ) s.AppendAscii(" ") -extern BOOL bOderSo; - #define GLOBSTR(id) ScGlobal::GetRscString( id ) @@ -234,30 +232,6 @@ void lcl_AppendHTMLColorTripel( ByteString& rStr, const Color& rColor ) } */ -bool SC_DLLPUBLIC ScGetWriteTeamInfo(); - -void lcl_WriteTeamInfo( SvStream& rStrm, rtl_TextEncoding eDestEnc ) -{ - if ( !ScGetWriteTeamInfo() ) return; - lcl_OUT_LF(); - lcl_OUT_COMMENT( CREATE_STRING( "Sascha Ballach " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Michael Daeumling (aka Bitsau) " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Michael Hagen " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Roland Jakobs " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Andreas Krebs " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "John Marmion " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Niklas Nebel " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Jacques Nietsch " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Marcus Olk " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Eike Rathke " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Daniel Rentz " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Stephan Templin " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "Gunnar Timm " ) ); - lcl_OUT_COMMENT( CREATE_STRING( "*** Man kann nicht ALLES haben! ***" ) ); - lcl_OUT_LF(); -} - - ////////////////////////////////////////////////////////////////////////////// ScHTMLExport::ScHTMLExport( SvStream& rStrmP, const String& rBaseURL, ScDocument* pDocP, @@ -416,8 +390,6 @@ void ScHTMLExport::WriteHeader() OUT_COMMENT( aStrOut ); } //---------------------------------------------------------- - - lcl_WriteTeamInfo( rStrm, eDestEnc ); } OUT_LF(); diff --git a/sc/source/filter/html/htmlpars.cxx b/sc/source/filter/html/htmlpars.cxx index 2716dc216ed1..85e77fc3124b 100644 --- a/sc/source/filter/html/htmlpars.cxx +++ b/sc/source/filter/html/htmlpars.cxx @@ -2424,12 +2424,15 @@ void ScHTMLTable::InsertNewCell( const ScHTMLSize& rSpanSize ) { ScRange* pRange; - // find an unused cell - while( (pRange = maVMergedCells.Find( maCurrCell.MakeAddr() )) != 0 ) + /* Find an unused cell by skipping all merged ranges that cover the + current cell position stored in maCurrCell. */ + while( ((pRange = maVMergedCells.Find( maCurrCell.MakeAddr() )) != 0) || ((pRange = maHMergedCells.Find( maCurrCell.MakeAddr() )) != 0) ) maCurrCell.mnCol = pRange->aEnd.Col() + 1; mpCurrEntryList = &maEntryMap[ maCurrCell ]; - // try to find collisions, shrink existing ranges + /* If the new cell is merged horizontally, try to find collisions with + other vertically merged ranges. In this case, shrink existing + vertically merged ranges (do not shrink the new cell). */ SCCOL nColEnd = maCurrCell.mnCol + rSpanSize.mnCols; for( ScAddress aAddr( maCurrCell.MakeAddr() ); aAddr.Col() < nColEnd; aAddr.IncCol() ) if( (pRange = maVMergedCells.Find( aAddr )) != 0 ) @@ -2438,14 +2441,19 @@ void ScHTMLTable::InsertNewCell( const ScHTMLSize& rSpanSize ) // insert the new range into the cell lists ScRange aNewRange( maCurrCell.MakeAddr() ); aNewRange.aEnd.Move( rSpanSize.mnCols - 1, rSpanSize.mnRows - 1, 0 ); - if( rSpanSize.mnCols > 1 ) + if( rSpanSize.mnRows > 1 ) { maVMergedCells.Append( aNewRange ); + /* Do not insert vertically merged ranges into maUsedCells yet, + because they may be shrunken (see above). The final vertically + merged ranges are inserted in FillEmptyCells(). */ } else { - if( rSpanSize.mnRows > 1 ) + if( rSpanSize.mnCols > 1 ) maHMergedCells.Append( aNewRange ); + /* Insert horizontally merged ranges and single cells into + maUsedCells, they will not be changed anymore. */ maUsedCells.Join( aNewRange ); } @@ -2562,8 +2570,9 @@ void ScHTMLTable::SetDocSize( ScHTMLOrient eOrient, SCCOLROW nCellPos, SCCOLROW while( nIndex >= rSizes.size() ) rSizes.push_back( rSizes.empty() ? 1 : (rSizes.back() + 1) ); // update size of passed position and all following + // #i109987# only grow, don't shrink - use the largest needed size SCsCOLROW nDiff = nSize - ((nIndex == 0) ? rSizes.front() : (rSizes[ nIndex ] - rSizes[ nIndex - 1 ])); - if( nDiff != 0 ) + if( nDiff > 0 ) for( ScSizeVec::iterator aIt = rSizes.begin() + nIndex, aEnd = rSizes.end(); aIt != aEnd; ++aIt ) *aIt += nDiff; } @@ -2591,6 +2600,7 @@ void ScHTMLTable::FillEmptyCells() for( ScHTMLTableIterator aIter( mxNestedTables.get() ); aIter.is(); ++aIter ) aIter->FillEmptyCells(); + // insert the final vertically merged ranges into maUsedCells for( const ScRange* pRange = maVMergedCells.First(); pRange; pRange = maVMergedCells.Next() ) maUsedCells.Join( *pRange ); diff --git a/sc/source/filter/inc/xihelper.hxx b/sc/source/filter/inc/xihelper.hxx index 9a836c8844db..05412c306c0c 100644 --- a/sc/source/filter/inc/xihelper.hxx +++ b/sc/source/filter/inc/xihelper.hxx @@ -320,13 +320,15 @@ public: /** Returns the type of the cached value (EXC_CACHEDVAL_*). */ inline sal_uInt8 GetType() const { return mnType; } /** Returns the cached string value, if this value is a string, else an empty string. */ - inline const String& GetString() const { return mxStr.get() ? *mxStr : EMPTY_STRING; } + inline const String& GetString() const { return mxStr.get() ? *mxStr : EMPTY_STRING; } /** Returns the cached number, if this value has number type, else 0.0. */ inline double GetValue() const { return mfValue; } /** Returns the cached Boolean value, if this value has Boolean type, else false. */ inline bool GetBool() const { return (mnType == EXC_CACHEDVAL_BOOL) && (mnBoolErr != 0); } /** Returns the cached Calc error code, if this value has Error type, else 0. */ - USHORT GetError() const; + inline sal_uInt8 GetXclError() const { return (mnType == EXC_CACHEDVAL_ERROR) ? mnBoolErr : EXC_ERR_NA; } + /** Returns the cached Calc error code, if this value has Error type, else 0. */ + USHORT GetScError() const; /** Returns the token array if this is a Boolean value or error value, else 0. */ inline const ScTokenArray* GetBoolErrFmla() const { return mxTokArr.get(); } diff --git a/sc/source/filter/inc/xistyle.hxx b/sc/source/filter/inc/xistyle.hxx index 4a347062905c..104002542a17 100644 --- a/sc/source/filter/inc/xistyle.hxx +++ b/sc/source/filter/inc/xistyle.hxx @@ -316,6 +316,9 @@ struct XclImpCellBorder : public XclCellBorder /** Fills this struct with BIFF8 CF (conditional format) record data. */ void FillFromCF8( sal_uInt16 nLineStyle, sal_uInt32 nLineColor, sal_uInt32 nFlags ); + /** Returns true, if any of the outer border lines is visible. */ + bool HasAnyOuterBorder() const; + /** Inserts a box item representing this border style into the item set. @param bSkipPoolDefs true = Do not put items equal to pool default; false = Put all items. */ void FillToItemSet( @@ -423,8 +426,6 @@ private: @descr In cell XFs, a set bit represents "used", in style XFs it is a cleared bit. Therefore mbCellXF must be set correctly before calling this method. */ void SetUsedFlags( sal_uInt8 nUsedFlags ); - /** Sets own "attribute used" flags, if attributes are different from passed parent XF. */ - void UpdateUsedFlags( const XclImpXF& rParentXF ); private: typedef ::std::auto_ptr< ScPatternAttr > ScPatternAttrPtr; diff --git a/sc/source/filter/inc/xlescher.hxx b/sc/source/filter/inc/xlescher.hxx index 33b75af8cd2c..95a87b51de12 100644 --- a/sc/source/filter/inc/xlescher.hxx +++ b/sc/source/filter/inc/xlescher.hxx @@ -432,7 +432,7 @@ public: GetControlModel( ::com::sun::star::uno::Reference< ::com::sun::star::drawing::XShape > xShape ); /** Returns the Calc macro name from an Excel macro name. */ - static ::rtl::OUString GetScMacroName( const String& rXclMacroName ); + static ::rtl::OUString GetScMacroName( const String& rXclMacroName, SfxObjectShell* pShell = NULL ); /** Returns the Excel macro name from a Calc macro name. */ static String GetXclMacroName( const ::rtl::OUString& rScMacroName ); @@ -440,7 +440,7 @@ public: static bool FillMacroDescriptor( ::com::sun::star::script::ScriptEventDescriptor& rDescriptor, XclTbxEventType eEventType, - const String& rXclMacroName ); + const String& rXclMacroName, SfxObjectShell* pShell = NULL ); /** Tries to extract an Excel macro name from the passed macro descriptor. */ static String ExtractFromMacroDescriptor( const ::com::sun::star::script::ScriptEventDescriptor& rDescriptor, diff --git a/sc/source/filter/inc/xltools.hxx b/sc/source/filter/inc/xltools.hxx index b2519a51d156..e8ceed8248d6 100644 --- a/sc/source/filter/inc/xltools.hxx +++ b/sc/source/filter/inc/xltools.hxx @@ -121,6 +121,8 @@ public: /** Converts an Excel error code to a Calc error code. */ static USHORT GetScErrorCode( sal_uInt8 nXclError ); + /** Converts the passed BIFF error to a double containing the respective Calc error code. */ + static double ErrorToDouble( sal_uInt8 nXclError ); /** Gets a translated error code or Boolean value from Excel error codes. @param rfDblValue Returns 0.0 for error codes or the value of a Boolean (0.0 or 1.0). @param bErrorOrBool false = nError is a Boolean value; true = is an error value. diff --git a/sc/source/filter/xml/sheetdata.cxx b/sc/source/filter/xml/sheetdata.cxx index 66b1c2579dd4..947c1370fa4b 100644 --- a/sc/source/filter/xml/sheetdata.cxx +++ b/sc/source/filter/xml/sheetdata.cxx @@ -43,7 +43,8 @@ ScSheetSaveData::ScSheetSaveData() : mnStartTab( -1 ), mnStartOffset( -1 ), - maPreviousNote( rtl::OUString(), rtl::OUString(), ScAddress(ScAddress::INITIALIZE_INVALID) ) + maPreviousNote( rtl::OUString(), rtl::OUString(), ScAddress(ScAddress::INITIALIZE_INVALID) ), + mbInSupportedSave( false ) { } @@ -270,3 +271,13 @@ bool ScSheetSaveData::AddLoadedNamespaces( SvXMLNamespaceMap& rNamespaces ) cons return true; // success } +bool ScSheetSaveData::IsInSupportedSave() const +{ + return mbInSupportedSave; +} + +void ScSheetSaveData::SetInSupportedSave( bool bSet ) +{ + mbInSupportedSave = bSet; +} + diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx index d53f26a5e887..0b620e1d47d8 100644 --- a/sc/source/filter/xml/xmlexprt.cxx +++ b/sc/source/filter/xml/xmlexprt.cxx @@ -2618,13 +2618,20 @@ void ScXMLExport::_ExportAutoStyles() GetShapeExport()->exportAutoStyles(); GetFormExport()->exportAutoStyles( ); + if (pDoc) { - // Special table style for the external ref cache tables. - AddAttribute(XML_NAMESPACE_STYLE, XML_NAME, sExternalRefTabStyleName); - AddAttribute(XML_NAMESPACE_STYLE, XML_FAMILY, XML_TABLE); - SvXMLElementExport aElemStyle(*this, XML_NAMESPACE_STYLE, XML_STYLE, sal_True, sal_True); - AddAttribute(XML_NAMESPACE_TABLE, XML_DISPLAY, XML_FALSE); - SvXMLElementExport aElemStyleTabProps(*this, XML_NAMESPACE_STYLE, XML_TABLE_PROPERTIES, sal_True, sal_True); + ScExternalRefManager* pRefMgr = pDoc->GetExternalRefManager(); + // #i100879# write the table style for cached tables only if there are cached tables + // (same logic as in ExportExternalRefCacheStyles) + if (pRefMgr->hasExternalData()) + { + // Special table style for the external ref cache tables. + AddAttribute(XML_NAMESPACE_STYLE, XML_NAME, sExternalRefTabStyleName); + AddAttribute(XML_NAMESPACE_STYLE, XML_FAMILY, XML_TABLE); + SvXMLElementExport aElemStyle(*this, XML_NAMESPACE_STYLE, XML_STYLE, sal_True, sal_True); + AddAttribute(XML_NAMESPACE_TABLE, XML_DISPLAY, XML_FALSE); + SvXMLElementExport aElemStyleTabProps(*this, XML_NAMESPACE_STYLE, XML_TABLE_PROPERTIES, sal_True, sal_True); + } } } if (getExportFlags() & EXPORT_MASTERSTYLES) @@ -3237,6 +3244,7 @@ void ScXMLExport::WriteAreaLink( const ScMyCell& rMyCell ) { const ScMyAreaLink& rAreaLink = rMyCell.aAreaLink; AddAttribute( XML_NAMESPACE_TABLE, XML_NAME, rAreaLink.sSourceStr ); + AddAttribute( XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE ); AddAttribute( XML_NAMESPACE_XLINK, XML_HREF, GetRelativeReference(rAreaLink.sURL) ); AddAttribute( XML_NAMESPACE_TABLE, XML_FILTER_NAME, rAreaLink.sFilter ); if( rAreaLink.sFilterOptions.getLength() ) @@ -3720,6 +3728,7 @@ void ScXMLExport::WriteTableSource() xLinkProps->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_REFDELAY))) >>= nRefresh; if (sLink.getLength()) { + AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE); AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, GetRelativeReference(sLink)); if (sTableName.getLength()) AddAttribute(XML_NAMESPACE_TABLE, XML_TABLE_NAME, sTableName); @@ -3958,6 +3967,7 @@ void ScXMLExport::WriteExternalRefCaches() aRelUrl = pExtFileData->maRelativeName; else aRelUrl = GetRelativeReference(pExtFileData->maRelativeName); + AddAttribute(XML_NAMESPACE_XLINK, XML_TYPE, XML_SIMPLE); AddAttribute(XML_NAMESPACE_XLINK, XML_HREF, aRelUrl); AddAttribute(XML_NAMESPACE_TABLE, XML_TABLE_NAME, *itr); if (pExtFileData->maFilterName.Len()) @@ -3987,6 +3997,14 @@ void ScXMLExport::WriteExternalRefCaches() } } + // Column definitions have to be present to make a valid file + { + if (nMaxColsUsed > 1) + AddAttribute(XML_NAMESPACE_TABLE, XML_NUMBER_COLUMNS_REPEATED, + OUString::valueOf(static_cast<sal_Int32>(nMaxColsUsed))); + SvXMLElementExport aElemColumn(*this, XML_NAMESPACE_TABLE, XML_TABLE_COLUMN, sal_True, sal_True); + } + // Write cache content for this table. SCROW nLastRow = 0; bool bFirstRow = true; diff --git a/sc/source/filter/xml/xmlwrap.cxx b/sc/source/filter/xml/xmlwrap.cxx index fde7f00bb05a..f21ed7d55ac2 100644 --- a/sc/source/filter/xml/xmlwrap.cxx +++ b/sc/source/filter/xml/xmlwrap.cxx @@ -78,6 +78,8 @@ #include "globstr.hrc" #include "scerrors.hxx" #include "XMLExportSharedData.hxx" +#include "docuno.hxx" +#include "sheetdata.hxx" #define MAP_LEN(x) x, sizeof(x) - 1 @@ -738,16 +740,23 @@ sal_Bool ScXMLImportWrapper::ExportToComponent(uno::Reference<lang::XMultiServic uno::Reference<embed::XStorage> xTmpStorage = rDoc.GetDocumentShell()->GetStorage(); uno::Reference<io::XStream> xSrcStream; uno::Reference<io::XInputStream> xSrcInput; - try - { - if (xTmpStorage.is()) - xSrcStream = xTmpStorage->openStreamElement( sName, embed::ElementModes::READ ); - if (xSrcStream.is()) - xSrcInput = xSrcStream->getInputStream(); - } - catch (uno::Exception&) + + // #i108978# If an embedded object is saved and no events are notified, don't use the stream + // because without the ...DONE events, stream positions aren't updated. + ScSheetSaveData* pSheetData = ScModelObj::getImplementation(xModel)->GetSheetSaveData(); + if (pSheetData && pSheetData->IsInSupportedSave()) { - // stream not available (for example, password protected) - save normally (xSrcInput is null) + try + { + if (xTmpStorage.is()) + xSrcStream = xTmpStorage->openStreamElement( sName, embed::ElementModes::READ ); + if (xSrcStream.is()) + xSrcInput = xSrcStream->getInputStream(); + } + catch (uno::Exception&) + { + // stream not available (for example, password protected) - save normally (xSrcInput is null) + } } pExport->SetSourceStream( xSrcInput ); @@ -755,7 +764,10 @@ sal_Bool ScXMLImportWrapper::ExportToComponent(uno::Reference<lang::XMultiServic pExport->SetSourceStream( uno::Reference<io::XInputStream>() ); // If there was an error, reset all stream flags, so the next save attempt will use normal saving. - if (!bRet) + // #i110692# For embedded objects, the stream may be unavailable for one save operation (m_pAntiImpl) + // and become available again later. But after saving normally once, the stream positions aren't + // valid anymore, so the flags also have to be reset if the stream wasn't available. + if ( !bRet || !xSrcInput.is() ) { SCTAB nTabCount = rDoc.GetTableCount(); for (SCTAB nTab=0; nTab<nTabCount; nTab++) diff --git a/sc/source/ui/app/inputhdl.cxx b/sc/source/ui/app/inputhdl.cxx index 485ea4b88589..28f178565da0 100644 --- a/sc/source/ui/app/inputhdl.cxx +++ b/sc/source/ui/app/inputhdl.cxx @@ -189,6 +189,14 @@ handle_r1c1: if ( (nFlags & SCA_TAB2_3D) == 0 ) aRange.aEnd.SetTab( aRange.aStart.Tab() ); + if ( ( nFlags & ( SCA_VALID_COL2 | SCA_VALID_ROW2 | SCA_VALID_TAB2 ) ) == 0 ) + { + // #i73766# if a single ref was parsed, set the same "abs" flags for ref2, + // so Format doesn't output a double ref because of different flags. + USHORT nAbsFlags = nFlags & ( SCA_COL_ABSOLUTE | SCA_ROW_ABSOLUTE | SCA_TAB_ABSOLUTE ); + nFlags |= nAbsFlags << 4; + } + if (!nCount) { pEngine->SetUpdateMode( FALSE ); @@ -421,7 +429,9 @@ ScInputHandler::ScInputHandler() pColumnData( NULL ), pFormulaData( NULL ), pFormulaDataPara( NULL ), + pTipVisibleParent( NULL ), nTipVisible( 0 ), + pTipVisibleSecParent( NULL ), nTipVisibleSec( 0 ), nAutoPos( SCPOS_INVALID ), bUseTab( FALSE ), @@ -683,12 +693,29 @@ void ScInputHandler::GetFormulaData() } } +IMPL_LINK( ScInputHandler, ShowHideTipVisibleParentListener, VclWindowEvent*, pEvent ) +{ + if( pEvent->GetId() == VCLEVENT_OBJECT_DYING || pEvent->GetId() == VCLEVENT_WINDOW_HIDE ) + HideTip(); + return 0; +} + +IMPL_LINK( ScInputHandler, ShowHideTipVisibleSecParentListener, VclWindowEvent*, pEvent ) +{ + if( pEvent->GetId() == VCLEVENT_OBJECT_DYING || pEvent->GetId() == VCLEVENT_WINDOW_HIDE ) + HideTipBelow(); + return 0; +} + void ScInputHandler::HideTip() { if ( nTipVisible ) { + if (pTipVisibleParent) + pTipVisibleParent->RemoveEventListener( LINK( this, ScInputHandler, ShowHideTipVisibleParentListener ) ); Help::HideTip( nTipVisible ); nTipVisible = 0; + pTipVisibleParent = NULL; } aManualTip.Erase(); } @@ -696,8 +723,11 @@ void ScInputHandler::HideTipBelow() { if ( nTipVisibleSec ) { + if (pTipVisibleSecParent) + pTipVisibleSecParent->RemoveEventListener( LINK( this, ScInputHandler, ShowHideTipVisibleSecParentListener ) ); Help::HideTip( nTipVisibleSec ); nTipVisibleSec = 0; + pTipVisibleSecParent = NULL; } aManualTip.Erase(); } @@ -889,15 +919,16 @@ void ScInputHandler::ShowTip( const String& rText ) if (pActiveView) { Point aPos; - Window* pWin = pActiveView->GetWindow(); + pTipVisibleParent = pActiveView->GetWindow(); Cursor* pCur = pActiveView->GetCursor(); if (pCur) - aPos = pWin->LogicToPixel( pCur->GetPos() ); - aPos = pWin->OutputToScreenPixel( aPos ); + aPos = pTipVisibleParent->LogicToPixel( pCur->GetPos() ); + aPos = pTipVisibleParent->OutputToScreenPixel( aPos ); Rectangle aRect( aPos, aPos ); USHORT nAlign = QUICKHELP_LEFT|QUICKHELP_BOTTOM; - nTipVisible = Help::ShowTip(pWin, aRect, rText, nAlign); + nTipVisible = Help::ShowTip(pTipVisibleParent, aRect, rText, nAlign); + pTipVisibleParent->AddEventListener( LINK( this, ScInputHandler, ShowHideTipVisibleParentListener ) ); } } @@ -909,18 +940,19 @@ void ScInputHandler::ShowTipBelow( const String& rText ) if ( pActiveView ) { Point aPos; - Window* pWin = pActiveView->GetWindow(); + pTipVisibleSecParent = pActiveView->GetWindow(); Cursor* pCur = pActiveView->GetCursor(); if ( pCur ) { Point aLogicPos = pCur->GetPos(); aLogicPos.Y() += pCur->GetHeight(); - aPos = pWin->LogicToPixel( aLogicPos ); + aPos = pTipVisibleSecParent->LogicToPixel( aLogicPos ); } - aPos = pWin->OutputToScreenPixel( aPos ); + aPos = pTipVisibleSecParent->OutputToScreenPixel( aPos ); Rectangle aRect( aPos, aPos ); USHORT nAlign = QUICKHELP_LEFT | QUICKHELP_TOP; - nTipVisibleSec = Help::ShowTip(pWin, aRect, rText, nAlign); + nTipVisibleSec = Help::ShowTip(pTipVisibleSecParent, aRect, rText, nAlign); + pTipVisibleSecParent->AddEventListener( LINK( this, ScInputHandler, ShowHideTipVisibleSecParentListener ) ); } } @@ -2682,6 +2714,7 @@ void ScInputHandler::EnterHandler( BYTE nBlockMode ) delete pObject; HideTip(); + HideTipBelow(); nFormSelStart = nFormSelEnd = 0; aFormText.Erase(); diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 5ea8c4d78e0f..f6fc2cb27b71 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -768,8 +768,9 @@ __EXPORT ScTextWnd::~ScTextWnd() { delete pEditView; delete pEditEngine; - for( AccTextDataVector::reverse_iterator aIt = maAccTextDatas.rbegin(), aEnd = maAccTextDatas.rend(); aIt != aEnd; ++aIt ) - (*aIt)->Dispose(); + while (!maAccTextDatas.empty()) { + maAccTextDatas.back()->Dispose(); + } } void __EXPORT ScTextWnd::Paint( const Rectangle& rRec ) diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index dc5d1010dfc8..94e18def8a11 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -98,7 +98,6 @@ #include "msgpool.hxx" #include "scresid.hxx" #include "anyrefdg.hxx" -#include "teamdlg.hxx" #include "dwfunctr.hxx" #include "formdata.hxx" //CHINA001 #include "tpview.hxx" @@ -142,7 +141,6 @@ ScModule::ScModule( SfxObjectFactory* pFact ) : pSelTransfer( NULL ), pMessagePool( NULL ), pRefInputHandler( NULL ), - pTeamDlg( NULL ), pViewCfg( NULL ), pDocCfg( NULL ), pAppCfg( NULL ), @@ -1507,11 +1505,6 @@ void ScModule::ViewShellGone( ScTabViewShell* pViewSh ) ScInputHandler* pHdl = GetInputHdl(); if (pHdl) pHdl->ViewShellGone( pViewSh ); - - // Team dialog is opened with the window from a view as parent - // -> close it if any view is closed - if (pTeamDlg) - pTeamDlg->Close(); // resets variable pTeamDlg } void ScModule::SetRefInputHdl( ScInputHandler* pNew ) @@ -1635,21 +1628,6 @@ void ScModule::SetRefDialog( USHORT nId, BOOL bVis, SfxViewFrame* pViewFrm ) } } -void ScModule::OpenTeamDlg() -{ - if ( !pTeamDlg ) - { - // team dialog needs an existing parent window - // -> use window from active view (dialog is closed in ViewShellGone) - - ScTabViewShell* pShell = ScTabViewShell::GetActiveViewShell(); - if (pShell) - pTeamDlg = new ScTeamDlg( pShell->GetActiveWin() ); - } - else - pTeamDlg->Center(); -} - SfxChildWindow* lcl_GetChildWinFromAnyView( USHORT nId ) { // first try the current view diff --git a/sc/source/ui/dbgui/filtdlg.cxx b/sc/source/ui/dbgui/filtdlg.cxx index 56878f623828..b5dd2f3242c2 100644 --- a/sc/source/ui/dbgui/filtdlg.cxx +++ b/sc/source/ui/dbgui/filtdlg.cxx @@ -448,24 +448,27 @@ void ScFilterDlg::UpdateValueList( USHORT nList ) SCCOL nColumn = theQueryData.nCol1 + static_cast<SCCOL>(nFieldSelPos) - 1; if (!pEntryLists[nColumn]) { + USHORT nOffset = GetSliderPos(); SCTAB nTab = nSrcTab; SCROW nFirstRow = theQueryData.nRow1; SCROW nLastRow = theQueryData.nRow2; + mbHasDates[nOffset+nList-1] = false; // erstmal ohne die erste Zeile pEntryLists[nColumn] = new TypedScStrCollection( 128, 128 ); pEntryLists[nColumn]->SetCaseSensitive( aBtnCase.IsChecked() ); pDoc->GetFilterEntriesArea( nColumn, nFirstRow+1, nLastRow, - nTab, *pEntryLists[nColumn] ); + nTab, *pEntryLists[nColumn], mbHasDates[nOffset+nList-1] ); // Eintrag fuer die erste Zeile //! Eintrag (pHdrEntry) ohne Collection erzeugen? nHeaderPos[nColumn] = USHRT_MAX; TypedScStrCollection aHdrColl( 1, 1 ); + bool bDummy = false; pDoc->GetFilterEntriesArea( nColumn, nFirstRow, nFirstRow, - nTab, aHdrColl ); + nTab, aHdrColl, bDummy ); TypedStrData* pHdrEntry = aHdrColl[0]; if ( pHdrEntry ) { @@ -1061,7 +1064,8 @@ IMPL_LINK( ScFilterDlg, ValModifyHdl, ComboBox*, pEd ) static_cast<SCCOL>(nField) - 1) : static_cast<SCCOL>(0); ScQueryOp eOp = (ScQueryOp)pLbCond->GetSelectEntryPos(); - rEntry.eOp = eOp; + rEntry.eOp = eOp; + rEntry.bQueryByDate = mbHasDates[nQE]; } } diff --git a/sc/source/ui/dbgui/makefile.mk b/sc/source/ui/dbgui/makefile.mk index 2d4fa71f690e..1e7000d0cb07 100644 --- a/sc/source/ui/dbgui/makefile.mk +++ b/sc/source/ui/dbgui/makefile.mk @@ -106,7 +106,6 @@ LIB1OBJFILES = \ $(SLO)$/expftext.obj \ $(SLO)$/fieldwnd.obj \ $(SLO)$/pvlaydlg.obj \ - $(SLO)$/pvfundlg.obj \ $(SLO)$/consdlg.obj \ $(SLO)$/imoptdlg.obj \ $(SLO)$/csvsplits.obj \ diff --git a/sc/source/ui/dbgui/pfiltdlg.cxx b/sc/source/ui/dbgui/pfiltdlg.cxx index cde18fcc3b52..d590ffb83457 100644 --- a/sc/source/ui/dbgui/pfiltdlg.cxx +++ b/sc/source/ui/dbgui/pfiltdlg.cxx @@ -349,11 +349,12 @@ void ScPivotFilterDlg::UpdateValueList( USHORT nList ) SCROW nFirstRow = theQueryData.nRow1; SCROW nLastRow = theQueryData.nRow2; nFirstRow++; + bool bHasDates = false; pEntryLists[nColumn] = new TypedScStrCollection( 128, 128 ); pEntryLists[nColumn]->SetCaseSensitive( aBtnCase.IsChecked() ); pDoc->GetFilterEntriesArea( nColumn, nFirstRow, nLastRow, - nTab, *pEntryLists[nColumn] ); + nTab, *pEntryLists[nColumn], bHasDates ); } TypedScStrCollection* pColl = pEntryLists[nColumn]; diff --git a/sc/source/ui/dbgui/pvfundlg.cxx b/sc/source/ui/dbgui/pvfundlg.cxx index 03de0b8914a3..6b04993ba0bc 100644 --- a/sc/source/ui/dbgui/pvfundlg.cxx +++ b/sc/source/ui/dbgui/pvfundlg.cxx @@ -28,6 +28,8 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sc.hxx" +#undef SC_DLLIMPLEMENTATION + #include "pvfundlg.hxx" #include <com/sun/star/sheet/DataPilotFieldReferenceType.hpp> diff --git a/sc/source/ui/dbgui/pvfundlg.src b/sc/source/ui/dbgui/pvfundlg.src index 70bce3ed30e9..ed00f6a65fa5 100644 --- a/sc/source/ui/dbgui/pvfundlg.src +++ b/sc/source/ui/dbgui/pvfundlg.src @@ -227,8 +227,8 @@ ModalDialog RID_SCDLG_PIVOTSUBT }; CheckBox CB_SHOWALL { - Pos = MAP_APPFONT ( 12 , 127 ) ; - Size = MAP_APPFONT ( 140 , 10 ) ; + Pos = MAP_APPFONT ( 6 , 127 ) ; + Size = MAP_APPFONT ( 152 , 10 ) ; Text [ en-US ] = "Show it~ems without data"; TabStop = TRUE ; }; diff --git a/sc/source/ui/dbgui/validate.cxx b/sc/source/ui/dbgui/validate.cxx index 5fdf386323d9..1ee02badefe1 100644 --- a/sc/source/ui/dbgui/validate.cxx +++ b/sc/source/ui/dbgui/validate.cxx @@ -581,7 +581,7 @@ void ScTPValidationValue::TidyListBoxes() pWnd = GetChild(0); - while( std::find( alstOrder.begin(), alstOrder.end(), pWnd ) != alstOrder.end() && NULL != ( pWnd = pWnd->GetWindow( WINDOW_NEXT) ) ); + while( std::find( alstOrder.begin(), alstOrder.end(), pWnd ) != alstOrder.end() && NULL != ( pWnd = pWnd->GetWindow( WINDOW_NEXT) ) ) ; if ( pWnd ) { diff --git a/sc/source/ui/docshell/dbdocfun.cxx b/sc/source/ui/docshell/dbdocfun.cxx index 2053cebc8ce5..9895f0f43610 100644 --- a/sc/source/ui/docshell/dbdocfun.cxx +++ b/sc/source/ui/docshell/dbdocfun.cxx @@ -593,7 +593,7 @@ BOOL ScDBDocFunc::Sort( SCTAB nTab, const ScSortParam& rSortParam, if (pDestData) pNewData = pDestData; // Bereich vorhanden -> anpassen else // Bereich ab Cursor/Markierung wird angelegt - pNewData = rDocShell.GetDBData(aDestPos, SC_DB_MAKE, TRUE ); + pNewData = rDocShell.GetDBData(aDestPos, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); if (pNewData) { pNewData->SetArea( nTab, @@ -920,7 +920,7 @@ BOOL ScDBDocFunc::Query( SCTAB nTab, const ScQueryParam& rQueryParam, pNewData = rDocShell.GetDBData( ScRange( aLocalParam.nCol1, aLocalParam.nRow1, nDestTab, aLocalParam.nCol2, aLocalParam.nRow2, nDestTab ), - SC_DB_MAKE, TRUE ); + SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); if (pNewData) { diff --git a/sc/source/ui/docshell/dbdocimp.cxx b/sc/source/ui/docshell/dbdocimp.cxx index be856ec9240b..a073e50d105c 100644 --- a/sc/source/ui/docshell/dbdocimp.cxx +++ b/sc/source/ui/docshell/dbdocimp.cxx @@ -189,7 +189,7 @@ BOOL ScDBDocFunc::DoImportUno( const ScAddress& rPos, // create database range //! merge this with SID_SBA_IMPORT execute in docsh4.cxx - ScDBData* pDBData = rDocShell.GetDBData( ScRange(rPos), SC_DB_IMPORT, FALSE ); + ScDBData* pDBData = rDocShell.GetDBData( ScRange(rPos), SC_DB_IMPORT, SC_DBSEL_KEEP ); DBG_ASSERT(pDBData, "can't create DB data"); String sTarget = pDBData->GetName(); diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx index cd28daa99401..01d03d49b50a 100644 --- a/sc/source/ui/docshell/docfunc.cxx +++ b/sc/source/ui/docshell/docfunc.cxx @@ -48,6 +48,12 @@ #include <svl/zforlist.hxx> #include <svl/PasswordHelper.hxx> +#include <basic/sbstar.hxx> +#include <com/sun/star/container/XNameContainer.hpp> +#include <com/sun/star/script/XLibraryContainer.hpp> +#include <com/sun/star/script/XVBAModuleInfo.hpp> +#include <com/sun/star/script/ModuleType.hpp> + #include <list> #include "docfunc.hxx" @@ -94,6 +100,7 @@ #include "clipparam.hxx" #include <memory> +#include <basic/basmgr.hxx> using namespace com::sun::star; using ::com::sun::star::uno::Sequence; @@ -2576,6 +2583,106 @@ BOOL ScDocFunc::MoveBlock( const ScRange& rSource, const ScAddress& rDestPos, } //------------------------------------------------------------------------ +uno::Reference< uno::XInterface > GetDocModuleObject( SfxObjectShell& rDocSh, String& sCodeName ) +{ + uno::Reference< lang::XMultiServiceFactory> xSF(rDocSh.GetModel(), uno::UNO_QUERY); + uno::Reference< container::XNameAccess > xVBACodeNamedObjectAccess; + uno::Reference< uno::XInterface > xDocModuleApiObject; + if ( xSF.is() ) + { + xVBACodeNamedObjectAccess.set( xSF->createInstance( rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.VBAObjectModuleObjectProvider"))), uno::UNO_QUERY ); + xDocModuleApiObject.set( xVBACodeNamedObjectAccess->getByName( sCodeName ), uno::UNO_QUERY ); + } + return xDocModuleApiObject; + +} + +script::ModuleInfo lcl_InitModuleInfo( SfxObjectShell& rDocSh, String& sModule ) +{ + ::rtl::OUString sVbaOption( RTL_CONSTASCII_USTRINGPARAM( "Rem Attribute VBA_ModuleType=VBADocumentModule\nOption VBASupport 1\n" )); + script::ModuleInfo sModuleInfo; + sModuleInfo.ModuleType = script::ModuleType::DOCUMENT; + sModuleInfo.ModuleObject = GetDocModuleObject( rDocSh, sModule ); + return sModuleInfo; +} + +void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String& sSource ) +{ + SFX_APP()->EnterBasicCall(); + SfxObjectShell& rDocSh = *rDoc.GetDocumentShell(); + uno::Reference< script::XLibraryContainer > xLibContainer = rDocSh.GetBasicContainer(); + DBG_ASSERT( xLibContainer.is(), "No BasicContainer!" ); + + uno::Reference< container::XNameContainer > xLib; + if( xLibContainer.is() ) + { + String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) ); + if ( rDocSh.GetBasicManager() && rDocSh.GetBasicManager()->GetName().Len() ) + aLibName = rDocSh.GetBasicManager()->GetName(); + uno::Any aLibAny = xLibContainer->getByName( aLibName ); + aLibAny >>= xLib; + } + if( xLib.is() ) + { + // if the Module with codename exists then find a new name + sal_Int32 nNum = 0; + String genModuleName; + if ( sModuleName.Len() ) + sModuleName = sModuleName; + else + { + genModuleName = String::CreateFromAscii( "Sheet1" ); + nNum = 1; + } + while( xLib->hasByName( genModuleName ) ) + genModuleName = rtl::OUString::createFromAscii( "Sheet" ) + rtl::OUString::valueOf( ++nNum ); + + uno::Any aSourceAny; + rtl::OUString sTmpSource = sSource; + if ( sTmpSource.getLength() == 0 ) + sTmpSource = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Rem Attribute VBA_ModuleType=VBADocumentModule\nOption VBASupport 1\n" )); + aSourceAny <<= sTmpSource; + uno::Reference< script::XVBAModuleInfo > xVBAModuleInfo( xLib, uno::UNO_QUERY ); + if ( xVBAModuleInfo.is() ) + { + String sCodeName( genModuleName ); + rDoc.SetCodeName( nTab, sCodeName ); + script::ModuleInfo sModuleInfo = lcl_InitModuleInfo( rDocSh, genModuleName ); + xVBAModuleInfo->insertModuleInfo( genModuleName, sModuleInfo ); + xLib->insertByName( genModuleName, aSourceAny ); + } + + } + SFX_APP()->LeaveBasicCall(); +} + +void VBA_DeleteModule( ScDocShell& rDocSh, String& sModuleName ) +{ + SFX_APP()->EnterBasicCall(); + uno::Reference< script::XLibraryContainer > xLibContainer = rDocSh.GetBasicContainer(); + DBG_ASSERT( xLibContainer.is(), "No BasicContainer!" ); + + uno::Reference< container::XNameContainer > xLib; + if( xLibContainer.is() ) + { + String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) ); + if ( rDocSh.GetBasicManager() && rDocSh.GetBasicManager()->GetName().Len() ) + aLibName = rDocSh.GetBasicManager()->GetName(); + uno::Any aLibAny = xLibContainer->getByName( aLibName ); + aLibAny >>= xLib; + } + if( xLib.is() ) + { + uno::Reference< script::XVBAModuleInfo > xVBAModuleInfo( xLib, uno::UNO_QUERY ); + if( xLib->hasByName( sModuleName ) ) + xLib->removeByName( sModuleName ); + if ( xVBAModuleInfo.is() ) + xVBAModuleInfo->removeModuleInfo( sModuleName ); + + } + SFX_APP()->LeaveBasicCall(); +} + BOOL ScDocFunc::InsertTable( SCTAB nTab, const String& rName, BOOL bRecord, BOOL bApi ) { @@ -2585,8 +2692,19 @@ BOOL ScDocFunc::InsertTable( SCTAB nTab, const String& rName, BOOL bRecord, BOOL ScDocShellModificator aModificator( rDocShell ); ScDocument* pDoc = rDocShell.GetDocument(); - if (bRecord && !pDoc->IsUndoEnabled()) + + + // Strange loop, also basic is loaded too early ( InsertTable ) + // is called via the xml import for sheets in described in odf + BOOL bInsertDocModule = false; + + if( !rDocShell.GetDocument()->IsImportingXML() ) + { + bInsertDocModule = pDoc ? pDoc->IsInVBAMode() : false; + } + if ( bInsertDocModule || ( bRecord && !pDoc->IsUndoEnabled() ) ) bRecord = FALSE; + if (bRecord) pDoc->BeginDrawUndo(); // InsertTab erzeugt ein SdrUndoNewPage @@ -2597,10 +2715,17 @@ BOOL ScDocFunc::InsertTable( SCTAB nTab, const String& rName, BOOL bRecord, BOOL if (pDoc->InsertTab( nTab, rName )) { + String sCodeName; if (bRecord) rDocShell.GetUndoManager()->AddUndoAction( new ScUndoInsertTab( &rDocShell, nTab, bAppend, rName)); // Views updaten: + // Only insert vba modules if vba mode ( and not currently importing XML ) + if( bInsertDocModule ) + { + String sSource; + VBA_InsertModule( *pDoc, nTab, sCodeName, sSource ); + } rDocShell.Broadcast( ScTablesHint( SC_TAB_INSERTED, nTab ) ); rDocShell.PostPaintExtras(); @@ -2622,8 +2747,11 @@ BOOL ScDocFunc::DeleteTable( SCTAB nTab, BOOL bRecord, BOOL /* bApi */ ) BOOL bSuccess = FALSE; ScDocument* pDoc = rDocShell.GetDocument(); + BOOL bVbaEnabled = pDoc ? pDoc->IsInVBAMode() : false; if (bRecord && !pDoc->IsUndoEnabled()) bRecord = FALSE; + if ( bVbaEnabled ) + bRecord = FALSE; BOOL bWasLinked = pDoc->IsLinked(nTab); ScDocument* pUndoDoc = NULL; ScRefUndoData* pUndoData = NULL; @@ -2664,6 +2792,8 @@ BOOL ScDocFunc::DeleteTable( SCTAB nTab, BOOL bRecord, BOOL /* bApi */ ) pUndoData = new ScRefUndoData( pDoc ); } + String sCodeName; + BOOL bHasCodeName = pDoc->GetCodeName( nTab, sCodeName ); if (pDoc->DeleteTab( nTab, pUndoDoc )) { if (bRecord) @@ -2674,6 +2804,13 @@ BOOL ScDocFunc::DeleteTable( SCTAB nTab, BOOL bRecord, BOOL /* bApi */ ) new ScUndoDeleteTab( &rDocShell, theTabs, pUndoDoc, pUndoData )); } // Views updaten: + if( bVbaEnabled ) + { + if( bHasCodeName ) + { + VBA_DeleteModule( rDocShell, sCodeName ); + } + } rDocShell.Broadcast( ScTablesHint( SC_TAB_DELETED, nTab ) ); if (bWasLinked) diff --git a/sc/source/ui/docshell/docsh.cxx b/sc/source/ui/docshell/docsh.cxx index 821b2a6ad880..135bbcdace49 100644 --- a/sc/source/ui/docshell/docsh.cxx +++ b/sc/source/ui/docshell/docsh.cxx @@ -356,6 +356,7 @@ void ScDocShell::AfterXMLLoading(sal_Bool bRet) } else aDocument.SetInsertingFromOtherDoc( FALSE ); +#if 0 // disable load of vba related libraries // add vba globals ( if they are availabl ) uno::Any aGlobs; uno::Sequence< uno::Any > aArgs(1); @@ -376,7 +377,7 @@ void ScDocShell::AfterXMLLoading(sal_Bool bRet) BasicManager* pAppMgr = SFX_APP()->GetBasicManager(); if ( pAppMgr ) pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] ); - +#endif aDocument.SetImportingXML( FALSE ); aDocument.EnableExecuteLink( true ); aDocument.EnableUndo( TRUE ); @@ -767,19 +768,38 @@ void __EXPORT ScDocShell::Notify( SfxBroadcaster&, const SfxHint& rHint ) if ( !bSuccess ) SetError( ERRCODE_IO_ABORT, ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( OSL_LOG_PREFIX ) ) ); // this error code will produce no error message, but will break the further saving process } + if (pSheetSaveData) + pSheetSaveData->SetInSupportedSave(true); } break; + case SFX_EVENT_SAVEASDOC: + case SFX_EVENT_SAVETODOC: + // #i108978# If no event is sent before saving, there will also be no "...DONE" event, + // and SAVE/SAVEAS can't be distinguished from SAVETO. So stream copying is only enabled + // if there is a SAVE/SAVEAS/SAVETO event first. + if (pSheetSaveData) + pSheetSaveData->SetInSupportedSave(true); + break; case SFX_EVENT_SAVEDOCDONE: { if ( IsDocShared() && !SC_MOD()->IsInSharedDocSaving() ) { } UseSheetSaveEntries(); // use positions from saved file for next saving + if (pSheetSaveData) + pSheetSaveData->SetInSupportedSave(false); } break; case SFX_EVENT_SAVEASDOCDONE: // new positions are used after "save" and "save as", but not "save to" UseSheetSaveEntries(); // use positions from saved file for next saving + if (pSheetSaveData) + pSheetSaveData->SetInSupportedSave(false); + break; + case SFX_EVENT_SAVETODOCDONE: + // only reset the flag, don't use the new positions + if (pSheetSaveData) + pSheetSaveData->SetInSupportedSave(false); break; default: { diff --git a/sc/source/ui/docshell/docsh2.cxx b/sc/source/ui/docshell/docsh2.cxx index 4b76c18edbe6..9e3ed217382f 100644 --- a/sc/source/ui/docshell/docsh2.cxx +++ b/sc/source/ui/docshell/docsh2.cxx @@ -102,6 +102,7 @@ BOOL __EXPORT ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xSt InitItems(); CalcOutputFactor(); +#if 0 uno::Any aGlobs; uno::Sequence< uno::Any > aArgs(1); aArgs[ 0 ] <<= GetModel(); @@ -121,6 +122,7 @@ BOOL __EXPORT ScDocShell::InitNew( const uno::Reference < embed::XStorage >& xSt BasicManager* pAppMgr = SFX_APP()->GetBasicManager(); if ( pAppMgr ) pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] ); +#endif return bRet; } diff --git a/sc/source/ui/docshell/docsh3.cxx b/sc/source/ui/docshell/docsh3.cxx index 7ff714c2cbdd..4709a065792f 100644 --- a/sc/source/ui/docshell/docsh3.cxx +++ b/sc/source/ui/docshell/docsh3.cxx @@ -1088,6 +1088,16 @@ void ScDocShell::MergeDocument( ScDocument& rOtherDoc, bool bShared, bool bCheck { aSourceRange = pDel->GetOverAllRange().MakeRange(); GetDocFunc().DeleteCells( aSourceRange, NULL, DEL_DELROWS, TRUE, FALSE ); + + // #i101099# [Collaboration] Changes are not correctly shown + if ( bShared ) + { + ScChangeAction* pAct = pThisTrack->GetLast(); + if ( pAct && pAct->GetType() == eSourceType && pAct->IsDeletedIn() && !pSourceAction->IsDeletedIn() ) + { + pAct->RemoveAllDeletedIn(); + } + } } } break; diff --git a/sc/source/ui/docshell/docsh4.cxx b/sc/source/ui/docshell/docsh4.cxx index 26d61a82c6be..157b98497e83 100644 --- a/sc/source/ui/docshell/docsh4.cxx +++ b/sc/source/ui/docshell/docsh4.cxx @@ -264,7 +264,7 @@ void ScDocShell::Execute( SfxRequest& rReq ) GetUndoManager()->EnterListAction( aStrImport, aStrImport ); } - ScDBData* pDBData = GetDBData( ScRange(aPos), SC_DB_IMPORT, FALSE ); + ScDBData* pDBData = GetDBData( ScRange(aPos), SC_DB_IMPORT, SC_DBSEL_KEEP ); DBG_ASSERT(pDBData, "kann DB-Daten nicht anlegen"); sTarget = pDBData->GetName(); } diff --git a/sc/source/ui/docshell/docsh5.cxx b/sc/source/ui/docshell/docsh5.cxx index 6fa6a5ac7863..84979e3dbcdf 100644 --- a/sc/source/ui/docshell/docsh5.cxx +++ b/sc/source/ui/docshell/docsh5.cxx @@ -65,6 +65,11 @@ #include "sc.hrc" #include "waitoff.hxx" #include "sizedev.hxx" +#include <basic/sbstar.hxx> +#include <basic/basmgr.hxx> + +// defined in docfunc.cxx +void VBA_InsertModule( ScDocument& rDoc, SCTAB nTab, String& sModuleName, String& sModuleSource ); // --------------------------------------------------------------------------- @@ -97,8 +102,9 @@ void ScDocShell::ErrorMessage( USHORT nGlobStrId ) BOOL ScDocShell::IsEditable() const { // import into read-only document is possible - must be extended if other filters use api + // #i108547# MSOOXML filter uses "IsChangeReadOnlyEnabled" property - return !IsReadOnly() || aDocument.IsImportingXML(); + return !IsReadOnly() || aDocument.IsImportingXML() || aDocument.IsChangeReadOnlyEnabled(); } void ScDocShell::DBAreaDeleted( SCTAB nTab, SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW /* nY2 */ ) @@ -148,7 +154,7 @@ ScDBData* lcl_GetDBNearCursor( ScDBCollection* pColl, SCCOL nCol, SCROW nRow, SC return pNoNameData; // "unbenannt" nur zurueck, wenn sonst nichts gefunden } -ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL bForceMark ) +ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGetDBSelection eSel ) { SCCOL nCol = rMarked.aStart.Col(); SCROW nRow = rMarked.aStart.Row(); @@ -169,7 +175,9 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL if (!pData) pData = lcl_GetDBNearCursor( aDocument.GetDBCollection(), nCol, nRow, nTab ); - BOOL bSelected = ( bForceMark || rMarked.aStart != rMarked.aEnd ); + BOOL bSelected = ( eSel == SC_DBSEL_FORCE_MARK || + (rMarked.aStart != rMarked.aEnd && eSel != SC_DBSEL_ROW_DOWN) ); + bool bOnlyDown = (!bSelected && eSel == SC_DBSEL_ROW_DOWN && rMarked.aStart.Row() == rMarked.aEnd.Row()); BOOL bUseThis = FALSE; if (pData) @@ -189,12 +197,21 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL bUseThis = TRUE; if ( bIsNoName && eMode == SC_DB_MAKE ) { - // wenn nichts markiert, "unbenannt" auf zusammenhaengenden Bereich anpassen + // If nothing marked or only one row marked, adapt + // "unbenannt"/"unnamed" to contiguous area. nStartCol = nCol; nStartRow = nRow; - nEndCol = nStartCol; - nEndRow = nStartRow; - aDocument.GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE ); + if (bOnlyDown) + { + nEndCol = rMarked.aEnd.Col(); + nEndRow = rMarked.aEnd.Row(); + } + else + { + nEndCol = nStartCol; + nEndRow = nStartRow; + } + aDocument.GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE, bOnlyDown ); if ( nOldCol1 != nStartCol || nOldCol2 != nEndCol || nOldRow1 != nStartRow ) bUseThis = FALSE; // passt gar nicht else if ( nOldRow2 != nEndRow ) @@ -242,9 +259,17 @@ ScDBData* ScDocShell::GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL { // zusammenhaengender Bereich nStartCol = nCol; nStartRow = nRow; - nEndCol = nStartCol; - nEndRow = nStartRow; - aDocument.GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE ); + if (bOnlyDown) + { + nEndCol = rMarked.aEnd.Col(); + nEndRow = rMarked.aEnd.Row(); + } + else + { + nEndCol = nStartCol; + nEndRow = nStartRow; + } + aDocument.GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE, bOnlyDown ); } BOOL bHasHeader = aDocument.HasColHeader( nStartCol,nStartRow, nEndCol,nEndRow, nTab ); @@ -846,6 +871,8 @@ BOOL ScDocShell::MoveTable( SCTAB nSrcTab, SCTAB nDestTab, BOOL bCopy, BOOL bRec if (bRecord) aDocument.BeginDrawUndo(); // drawing layer must do its own undo actions + String sSrcCodeName; + aDocument.GetCodeName( nSrcTab, sSrcCodeName ); if (!aDocument.CopyTab( nSrcTab, nDestTab )) { //! EndDrawUndo? @@ -869,8 +896,38 @@ BOOL ScDocShell::MoveTable( SCTAB nSrcTab, SCTAB nDestTab, BOOL bCopy, BOOL bRec GetUndoManager()->AddUndoAction( new ScUndoCopyTab( this, aSrcList, aDestList ) ); } - } + BOOL bVbaEnabled = aDocument.IsInVBAMode(); + if ( bVbaEnabled ) + { + StarBASIC* pStarBASIC = GetBasic(); + String aLibName( RTL_CONSTASCII_USTRINGPARAM( "Standard" ) ); + if ( GetBasicManager()->GetName().Len() > 0 ) + { + aLibName = GetBasicManager()->GetName(); + pStarBASIC = GetBasicManager()->GetLib( aLibName ); + } + SCTAB nTabToUse = nDestTab; + if ( nDestTab == SC_TAB_APPEND ) + nTabToUse = aDocument.GetMaxTableNumber() - 1; + String sCodeName; + String sSource; + com::sun::star::uno::Reference< com::sun::star::script::XLibraryContainer > xLibContainer = GetBasicContainer(); + com::sun::star::uno::Reference< com::sun::star::container::XNameContainer > xLib; + if( xLibContainer.is() ) + { + com::sun::star::uno::Any aLibAny = xLibContainer->getByName( aLibName ); + aLibAny >>= xLib; + } + if( xLib.is() ) + { + rtl::OUString sRTLSource; + xLib->getByName( sSrcCodeName ) >>= sRTLSource; + sSource = sRTLSource; + } + VBA_InsertModule( aDocument, nTabToUse, sCodeName, sSource ); + } + } Broadcast( ScTablesHint( SC_TAB_COPIED, nSrcTab, nDestTab ) ); } else diff --git a/sc/source/ui/docshell/docsh8.cxx b/sc/source/ui/docshell/docsh8.cxx index b761dd75d9df..cb9d625da70c 100644 --- a/sc/source/ui/docshell/docsh8.cxx +++ b/sc/source/ui/docshell/docsh8.cxx @@ -597,7 +597,7 @@ void lcl_GetColumnTypes( ScDocShell& rDocShell, else if ( nDbType == sdbc::DataType::DECIMAL ) { // maximale Feldbreite und Nachkommastellen bestimmen xub_StrLen nLen; - USHORT nPrec; + sal_uInt16 nPrec; nLen = pDoc->GetMaxNumberStringLen( nPrec, nTab, nCol, nFirstDataRow, nLastRow ); // dBaseIII Limit Nachkommastellen: 15 diff --git a/sc/source/ui/docshell/externalrefmgr.cxx b/sc/source/ui/docshell/externalrefmgr.cxx index 836d6cdf98e6..e7b04afa9c4f 100644 --- a/sc/source/ui/docshell/externalrefmgr.cxx +++ b/sc/source/ui/docshell/externalrefmgr.cxx @@ -238,6 +238,26 @@ void ScExternalRefCache::Table::getAllRows(vector<SCROW>& rRows) const rRows.swap(aRows); } +::std::pair< SCROW, SCROW > ScExternalRefCache::Table::getRowRange() const +{ + ::std::pair< SCROW, SCROW > aRange( 0, 0 ); + if( !maRows.empty() ) + { + // iterate over entire container (hash map is not sorted by key) + RowsDataType::const_iterator itr = maRows.begin(), itrEnd = maRows.end(); + aRange.first = itr->first; + aRange.second = itr->first + 1; + while( ++itr != itrEnd ) + { + if( itr->first < aRange.first ) + aRange.first = itr->first; + else if( itr->first >= aRange.second ) + aRange.second = itr->first + 1; + } + } + return aRange; +} + void ScExternalRefCache::Table::getAllCols(SCROW nRow, vector<SCCOL>& rCols) const { RowsDataType::const_iterator itrRow = maRows.find(nRow); @@ -257,6 +277,33 @@ void ScExternalRefCache::Table::getAllCols(SCROW nRow, vector<SCCOL>& rCols) con rCols.swap(aCols); } +::std::pair< SCCOL, SCCOL > ScExternalRefCache::Table::getColRange( SCROW nRow ) const +{ + ::std::pair< SCCOL, SCCOL > aRange( 0, 0 ); + + RowsDataType::const_iterator itrRow = maRows.find( nRow ); + if (itrRow == maRows.end()) + // this table doesn't have the specified row. + return aRange; + + const RowDataType& rRowData = itrRow->second; + if( !rRowData.empty() ) + { + // iterate over entire container (hash map is not sorted by key) + RowDataType::const_iterator itr = rRowData.begin(), itrEnd = rRowData.end(); + aRange.first = itr->first; + aRange.second = itr->first + 1; + while( ++itr != itrEnd ) + { + if( itr->first < aRange.first ) + aRange.first = itr->first; + else if( itr->first >= aRange.second ) + aRange.second = itr->first + 1; + } + } + return aRange; +} + void ScExternalRefCache::Table::getAllNumberFormats(vector<sal_uInt32>& rNumFmts) const { RowsDataType::const_iterator itrRow = maRows.begin(), itrRowEnd = maRows.end(); @@ -1942,6 +1989,9 @@ SfxObjectShellRef ScExternalRefManager::loadSrcDocument(sal_uInt16 nFileId, Stri if (aOptions.Len()) pSet->Put(SfxStringItem(SID_FILE_FILTEROPTIONS, aOptions)); + // make medium hidden to prevent assertion from progress bar + pSet->Put( SfxBoolItem( SID_HIDDEN, TRUE ) ); + auto_ptr<SfxMedium> pMedium(new SfxMedium(aFile, STREAM_STD_READ, false, pFilter, pSet)); if (pMedium->GetError() != ERRCODE_NONE) return NULL; diff --git a/sc/source/ui/docshell/tablink.cxx b/sc/source/ui/docshell/tablink.cxx index 4d18f9f18c37..697b39052b9f 100644 --- a/sc/source/ui/docshell/tablink.cxx +++ b/sc/source/ui/docshell/tablink.cxx @@ -485,6 +485,11 @@ BOOL ScDocumentLoader::GetFilterName( const String& rFileName, pDocSh = SfxObjectShell::GetNext( *pDocSh, &aScType ); } + INetURLObject aUrl( rFileName ); + INetProtocol eProt = aUrl.GetProtocol(); + if ( eProt == INET_PROT_NOT_VALID ) // invalid URL? + return FALSE; // abort without creating a medium + // Filter-Detection const SfxFilter* pSfxFilter = NULL; diff --git a/sc/source/ui/drawfunc/drformsh.src b/sc/source/ui/drawfunc/drformsh.src index b20ceb9841a5..65e98eea7b2c 100644 --- a/sc/source/ui/drawfunc/drformsh.src +++ b/sc/source/ui/drawfunc/drformsh.src @@ -117,12 +117,14 @@ {\ MenuItem\ {\ + RadioCheck = TRUE ; \ Identifier = SID_ANCHOR_PAGE ; \ HelpId = SID_ANCHOR_PAGE ; \ Text [ en-US ] = "To P~age" ; \ };\ MenuItem\ {\ + RadioCheck = TRUE ; \ Identifier = SID_ANCHOR_CELL ; \ HelpId = SID_ANCHOR_CELL ; \ Text [ en-US ] = "To ~Cell" ; \ diff --git a/sc/source/ui/drawfunc/objdraw.src b/sc/source/ui/drawfunc/objdraw.src index 0cd8fdd54e4b..82649044b38c 100644 --- a/sc/source/ui/drawfunc/objdraw.src +++ b/sc/source/ui/drawfunc/objdraw.src @@ -339,6 +339,7 @@ {\ MenuItem\ {\ + RadioCheck = TRUE ; \ Identifier = SID_ANCHOR_PAGE ; \ HelpId = SID_ANCHOR_PAGE ; \ Text [ en-US ] = "To P~age" ; \ @@ -346,6 +347,7 @@ };\ MenuItem\ {\ + RadioCheck = TRUE ; \ Identifier = SID_ANCHOR_CELL ; \ HelpId = SID_ANCHOR_CELL ; \ Text [ en-US ] = "To ~Cell" ; \ diff --git a/sc/source/ui/inc/dbfunc.hxx b/sc/source/ui/inc/dbfunc.hxx index be206b396733..baadae0a64dc 100644 --- a/sc/source/ui/inc/dbfunc.hxx +++ b/sc/source/ui/inc/dbfunc.hxx @@ -77,7 +77,7 @@ public: void GotoDBArea( const String& rDBName ); // DB-Bereich vom Cursor - ScDBData* GetDBData( BOOL bMarkArea = TRUE, ScGetDBMode eMode = SC_DB_MAKE, bool bShrinkToData = false ); + ScDBData* GetDBData( BOOL bMarkArea = TRUE, ScGetDBMode eMode = SC_DB_MAKE, ScGetDBSelection eSel = SC_DBSEL_KEEP ); void NotifyCloseDbNameDlg( const ScDBCollection& rNewColl, const List& rDelAreaList ); diff --git a/sc/source/ui/inc/docsh.hxx b/sc/source/ui/inc/docsh.hxx index 88bbeb699539..09d34c661995 100644 --- a/sc/source/ui/inc/docsh.hxx +++ b/sc/source/ui/inc/docsh.hxx @@ -313,7 +313,7 @@ public: BOOL IsOle(); void DBAreaDeleted( SCTAB nTab, SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2 ); - ScDBData* GetDBData( const ScRange& rMarked, ScGetDBMode eMode, BOOL bForceMark ); + ScDBData* GetDBData( const ScRange& rMarked, ScGetDBMode eMode, ScGetDBSelection eSel ); ScDBData* GetOldAutoDBRange(); // has to be deleted by caller! void CancelAutoDBRange(); // called when dialog is cancelled diff --git a/sc/source/ui/inc/filtdlg.hxx b/sc/source/ui/inc/filtdlg.hxx index 068a48b8d689..31e0e3a5d4b1 100644 --- a/sc/source/ui/inc/filtdlg.hxx +++ b/sc/source/ui/inc/filtdlg.hxx @@ -164,6 +164,7 @@ private: ListBox* aFieldLbArr[4]; ListBox* aCondLbArr[4]; ListBox* aConnLbArr[4]; + bool mbHasDates[MAXQUERY]; BOOL bRefreshExceptQuery[MAXQUERY]; USHORT nFieldCount; BOOL bRefInputMode; diff --git a/sc/source/ui/inc/gridwin.hxx b/sc/source/ui/inc/gridwin.hxx index 149498a8314d..4d6ef782aed6 100644 --- a/sc/source/ui/inc/gridwin.hxx +++ b/sc/source/ui/inc/gridwin.hxx @@ -215,7 +215,7 @@ private: BOOL IsAutoFilterActive( SCCOL nCol, SCROW nRow, SCTAB nTab ); void ExecFilter( ULONG nSel, SCCOL nCol, SCROW nRow, - const String& aValue ); + const String& aValue, bool bCheckForDates ); void FilterSelect( ULONG nSel ); void ExecDataSelect( SCCOL nCol, SCROW nRow, const String& rStr ); diff --git a/sc/source/ui/inc/inputhdl.hxx b/sc/source/ui/inc/inputhdl.hxx index bcc5ba0dd396..61974cf7464d 100644 --- a/sc/source/ui/inc/inputhdl.hxx +++ b/sc/source/ui/inc/inputhdl.hxx @@ -68,7 +68,9 @@ private: TypedScStrCollection* pColumnData; TypedScStrCollection* pFormulaData; TypedScStrCollection* pFormulaDataPara; + Window* pTipVisibleParent; ULONG nTipVisible; + Window* pTipVisibleSecParent; ULONG nTipVisibleSec; String aManualTip; String aAutoSearch; @@ -149,6 +151,8 @@ private: BOOL CursorAtClosingPar(); void SkipClosingPar(); DECL_LINK( ModifyHdl, void* ); + DECL_LINK( ShowHideTipVisibleParentListener, VclWindowEvent* ); + DECL_LINK( ShowHideTipVisibleSecParentListener, VclWindowEvent* ); #endif public: diff --git a/sc/source/ui/inc/optdlg.hrc b/sc/source/ui/inc/optdlg.hrc index 00cfdb2c6d5a..27b8976e3541 100644 --- a/sc/source/ui/inc/optdlg.hrc +++ b/sc/source/ui/inc/optdlg.hrc @@ -70,6 +70,7 @@ #define BTN_MATCH 18 #define BTN_LOOKUP 19 #define BTN_REGEX 20 +#define BTN_GENERAL_PREC 21 // TP_VIEW: #define BTN_VSCROLL 1 diff --git a/sc/source/ui/inc/output.hxx b/sc/source/ui/inc/output.hxx index 8d512898afd3..42844513af92 100644 --- a/sc/source/ui/inc/output.hxx +++ b/sc/source/ui/inc/output.hxx @@ -73,6 +73,15 @@ class ScOutputData { friend class ScDrawStringsVars; private: + struct OutputAreaParam + { + Rectangle maAlignRect; + Rectangle maClipRect; + long mnColWidth; + bool mbLeftClip; + bool mbRightClip; + }; + OutputDevice* pDev; // Device OutputDevice* pRefDevice; // printer if used for preview OutputDevice* pFmtDevice; // reference for text formatting @@ -152,19 +161,19 @@ private: void GetVisibleCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScBaseCell*& rpCell ); BOOL IsAvailable( SCCOL nX, SCROW nY ); + void GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY, - SCCOL nCellX, SCROW nCellY, long nNeeded, - const ScPatternAttr& rPattern, - USHORT nHorJustify, BOOL bCellIsValue, - BOOL bBreak, BOOL bOverwrite, - Rectangle& rAlignRect, Rectangle& rClipRect, - BOOL& rLeftClip, BOOL& rRightClip ); + SCCOL nCellX, SCROW nCellY, long nNeeded, + const ScPatternAttr& rPattern, + USHORT nHorJustify, bool bCellIsValue, + bool bBreak, bool bOverwrite, + OutputAreaParam& rParam ); void ShrinkEditEngine( EditEngine& rEngine, const Rectangle& rAlignRect, long nLeftM, long nTopM, long nRightM, long nBottomM, BOOL bWidth, USHORT nOrient, long nAttrRotate, BOOL bPixelToLogic, long& rEngineWidth, long& rEngineHeight, long& rNeededPixel, - BOOL& rLeftClip, BOOL& rRightClip ); + bool& rLeftClip, bool& rRightClip ); void SetSyntaxColor( Font* pFont, ScBaseCell* pCell ); void SetEditSyntaxColor( EditEngine& rEngine, ScBaseCell* pCell ); diff --git a/sc/source/ui/inc/teamdlg.hxx b/sc/source/ui/inc/teamdlg.hxx deleted file mode 100644 index 9f44f06c4b12..000000000000 --- a/sc/source/ui/inc/teamdlg.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef SC_TEAMDLG_HXX -#define SC_TEAMDLG_HXX - - -#include <vcl/floatwin.hxx> -#include <vcl/fixed.hxx> - - -//======================================================================== - -class ScTeamDlg : public FloatingWindow -{ -public: - ScTeamDlg( Window* pParent ); - ~ScTeamDlg(); - - virtual BOOL Close(); - void Center(); - -private: - FixedBitmap aBmpTeam; -}; - - -#endif - diff --git a/sc/source/ui/inc/tpcalc.hxx b/sc/source/ui/inc/tpcalc.hxx index ea9e53a23ee4..31f2c9458c83 100644 --- a/sc/source/ui/inc/tpcalc.hxx +++ b/sc/source/ui/inc/tpcalc.hxx @@ -76,6 +76,7 @@ private: CheckBox aBtnMatch; CheckBox aBtnRegex; CheckBox aBtnLookUp; + CheckBox aBtnGeneralPrec; FixedText aFtPrec; NumericField aEdPrec; diff --git a/sc/source/ui/miscdlgs/autofmt.cxx b/sc/source/ui/miscdlgs/autofmt.cxx index 940856775c07..6ce65ab914be 100644 --- a/sc/source/ui/miscdlgs/autofmt.cxx +++ b/sc/source/ui/miscdlgs/autofmt.cxx @@ -68,8 +68,6 @@ #define FRAME_OFFSET 4 -BOOL bIsOlk = FALSE; - //CHINA001 //======================================================================== //CHINA001 // AutoFormat-Dialog: @@ -508,8 +506,6 @@ ScAutoFmtPreview::ScAutoFmtPreview( Window* pParent, const ResId& rRes, ScDocume pNumFmt ( new SvNumberFormatter( ::comphelper::getProcessServiceFactory(), ScGlobal::eLnge ) ) { Init(); - if( bIsOlk ) - ((String&)aStrMar).AssignAscii(RTL_CONSTASCII_STRINGPARAM( "Olk" )); } //------------------------------------------------------------------------ diff --git a/sc/source/ui/miscdlgs/makefile.mk b/sc/source/ui/miscdlgs/makefile.mk index 9f5bb1dbc498..ac210bcfaa83 100644 --- a/sc/source/ui/miscdlgs/makefile.mk +++ b/sc/source/ui/miscdlgs/makefile.mk @@ -60,7 +60,6 @@ SLOFILES = \ $(SLO)$/crdlg.obj \ $(SLO)$/namecrea.obj \ $(SLO)$/namepast.obj \ - $(SLO)$/teamdlg.obj \ $(SLO)$/textdlgs.obj \ $(SLO)$/anyrefdg.obj \ $(SLO)$/crnrdlg.obj \ @@ -109,7 +108,6 @@ LIB1OBJFILES = \ $(SLO)$/solveroptions.obj \ $(SLO)$/solverutil.obj \ $(SLO)$/tabopdlg.obj \ - $(SLO)$/teamdlg.obj \ $(SLO)$/anyrefdg.obj \ $(SLO)$/crnrdlg.obj \ $(SLO)$/acredlin.obj \ diff --git a/sc/source/ui/miscdlgs/scuiautofmt.cxx b/sc/source/ui/miscdlgs/scuiautofmt.cxx index 79d7c502921f..b2f837db4cb4 100644 --- a/sc/source/ui/miscdlgs/scuiautofmt.cxx +++ b/sc/source/ui/miscdlgs/scuiautofmt.cxx @@ -369,7 +369,7 @@ IMPL_LINK( ScAutoFormatDlg, RenameHdl, void *, EMPTYARG ) aStrRename, aStrLabel, aFormatName, - HID_SC_RENAME_AUTOFMT ); + HID_SC_REN_AFMT_DLG ); if( pDlg->Execute() == RET_OK ) { BOOL bFmtRenamed = FALSE; diff --git a/sc/source/ui/miscdlgs/strindlg.cxx b/sc/source/ui/miscdlgs/strindlg.cxx index aa6db3075b64..b8dc2e13538e 100644 --- a/sc/source/ui/miscdlgs/strindlg.cxx +++ b/sc/source/ui/miscdlgs/strindlg.cxx @@ -72,25 +72,21 @@ ScStringInputDlg::ScStringInputDlg( Window* pParent, // HelpId for Edit different for different uses - DBG_ASSERT( nHelpId == FID_TAB_APPEND || nHelpId == FID_TAB_RENAME || - nHelpId == HID_SC_ADD_AUTOFMT || nHelpId == HID_SC_RENAME_AUTOFMT || - nHelpId == SID_RENAME_OBJECT || - // #i68101# - nHelpId == SID_TITLE_DESCRIPTION_OBJECT, - "unknown ID" ); if ( nHelpId == FID_TAB_APPEND ) aEdInput.SetHelpId( HID_SC_APPEND_NAME ); else if ( nHelpId == FID_TAB_RENAME ) aEdInput.SetHelpId( HID_SC_RENAME_NAME ); else if ( nHelpId == HID_SC_ADD_AUTOFMT ) aEdInput.SetHelpId( HID_SC_AUTOFMT_NAME ); - else if ( nHelpId == HID_SC_RENAME_AUTOFMT ) + else if ( nHelpId == HID_SC_REN_AFMT_DLG ) aEdInput.SetHelpId( HID_SC_REN_AFMT_NAME ); else if ( nHelpId == SID_RENAME_OBJECT ) aEdInput.SetHelpId( HID_SC_RENAME_OBJECT ); // #i68101# else if ( nHelpId == SID_TITLE_DESCRIPTION_OBJECT ) aEdInput.SetHelpId( HID_SC_TITLE_DESCRIPTION_OBJECT ); + else + DBG_ERRORFILE( "unknown ID" ); //------------- FreeResource(); diff --git a/sc/source/ui/miscdlgs/teamdlg.cxx b/sc/source/ui/miscdlgs/teamdlg.cxx deleted file mode 100644 index a9f1bf2a17cf..000000000000 --- a/sc/source/ui/miscdlgs/teamdlg.cxx +++ /dev/null @@ -1,116 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sc.hxx" - - - -//------------------------------------------------------------------ - -#include <tools/shl.hxx> - -#include "teamdlg.hxx" -#include "scmod.hxx" -#include "scresid.hxx" -#include "sc.hrc" - - -//------------------------------------------------------------------ - -void ShowTheTeam() -{ - SC_MOD()->OpenTeamDlg(); -} - -//======================================================================== -// ScTeamDlg -//======================================================================== - -ScTeamDlg::ScTeamDlg( Window* pParent ) - : FloatingWindow( pParent, ScResId( RID_SCDLG_TEAM ) ), - aBmpTeam ( this, ScResId( 1 ) ) -{ - FreeResource(); - SC_MOD()->SetTeamDlg( this ); - - Bitmap aBmp( ScResId( RID_SCTEAMDLGBMP1 ) ); - - Size aSize = aBmp.GetSizePixel(); - USHORT nOff = (USHORT)aBmpTeam.GetPosPixel().X(); - - aBmpTeam.SetSizePixel( aSize ); - aBmpTeam.SetBitmap( aBmp ); - aSize.Width() += (2*nOff); - aSize.Height() += (2*nOff); - SetOutputSizePixel( aSize ); - Center(); - Point aPos = GetPosPixel(); - if (aPos.Y() < 0) - { - // #87164# title bar must be visible - aPos.Y() = 0; - SetPosPixel(aPos); - } - Show(); -} - -//------------------------------------------------------------------------ - -__EXPORT ScTeamDlg::~ScTeamDlg() -{ -} - -//------------------------------------------------------------------------ - -BOOL __EXPORT ScTeamDlg::Close() -{ - BOOL bReturn = FloatingWindow::Close(); - - SC_MOD()->SetTeamDlg( NULL ); - delete this; - - return bReturn; -} - -//------------------------------------------------------------------------ - -void ScTeamDlg::Center() -{ - if ( IsRollUp() ) RollDown(); - - Size aSizeDesktop = GetParent()->GetSizePixel(); - Size aSize = GetSizePixel(); - Point aNewPos; - - aNewPos.X() = (aSizeDesktop.Width() - aSize.Width()) / 2; - aNewPos.Y() = (aSizeDesktop.Height() - aSize.Height()) / 2; - SetPosPixel( aNewPos ); -} - - - diff --git a/sc/source/ui/optdlg/tpcalc.cxx b/sc/source/ui/optdlg/tpcalc.cxx index c6423ea73b23..5b5920e904fc 100644 --- a/sc/source/ui/optdlg/tpcalc.cxx +++ b/sc/source/ui/optdlg/tpcalc.cxx @@ -88,6 +88,7 @@ ScTpCalcOptions::ScTpCalcOptions( Window* pParent, aBtnMatch ( this, ScResId( BTN_MATCH ) ), aBtnRegex ( this, ScResId( BTN_REGEX ) ), aBtnLookUp ( this, ScResId( BTN_LOOKUP ) ), + aBtnGeneralPrec ( this, ScResId( BTN_GENERAL_PREC ) ), aFtPrec ( this, ScResId( FT_PREC ) ), aEdPrec ( this, ScResId( ED_PREC ) ), pOldOptions ( new ScDocOptions( @@ -116,6 +117,7 @@ __EXPORT ScTpCalcOptions::~ScTpCalcOptions() void ScTpCalcOptions::Init() { aBtnIterate .SetClickHdl( LINK( this, ScTpCalcOptions, CheckClickHdl ) ); + aBtnGeneralPrec.SetClickHdl( LINK(this, ScTpCalcOptions, CheckClickHdl) ); aBtnDateStd .SetClickHdl( LINK( this, ScTpCalcOptions, RadioClickHdl ) ); aBtnDateSc10.SetClickHdl( LINK( this, ScTpCalcOptions, RadioClickHdl ) ); aBtnDate1904.SetClickHdl( LINK( this, ScTpCalcOptions, RadioClickHdl ) ); @@ -150,7 +152,6 @@ void __EXPORT ScTpCalcOptions::Reset( const SfxItemSet& /* rCoreAttrs */ ) aBtnLookUp .Check( pLocalOptions->IsLookUpColRowNames() ); aBtnIterate.Check( pLocalOptions->IsIter() ); aEdSteps .SetValue( pLocalOptions->GetIterCount() ); - aEdPrec .SetValue( pLocalOptions->GetStdPrecision() ); aEdEps .SetValue( pLocalOptions->GetIterEps(), 6 ); pLocalOptions->GetDate( d, m, y ); @@ -168,6 +169,21 @@ void __EXPORT ScTpCalcOptions::Reset( const SfxItemSet& /* rCoreAttrs */ ) break; } + sal_uInt16 nPrec = pLocalOptions->GetStdPrecision(); + if (nPrec == SvNumberFormatter::UNLIMITED_PRECISION) + { + aFtPrec.Disable(); + aEdPrec.Disable(); + aBtnGeneralPrec.Check(false); + } + else + { + aBtnGeneralPrec.Check(); + aFtPrec.Enable(); + aEdPrec.Enable(); + aEdPrec.SetValue(nPrec); + } + CheckClickHdl( &aBtnIterate ); } @@ -178,13 +194,18 @@ BOOL __EXPORT ScTpCalcOptions::FillItemSet( SfxItemSet& rCoreAttrs ) { // alle weiteren Optionen werden in den Handlern aktualisiert pLocalOptions->SetIterCount( (USHORT)aEdSteps.GetValue() ); - pLocalOptions->SetStdPrecision( (USHORT)aEdPrec.GetValue() ); pLocalOptions->SetIgnoreCase( !aBtnCase.IsChecked() ); pLocalOptions->SetCalcAsShown( aBtnCalc.IsChecked() ); pLocalOptions->SetMatchWholeCell( aBtnMatch.IsChecked() ); pLocalOptions->SetFormulaRegexEnabled( aBtnRegex.IsChecked() ); pLocalOptions->SetLookUpColRowNames( aBtnLookUp.IsChecked() ); + if (aBtnGeneralPrec.IsChecked()) + pLocalOptions->SetStdPrecision( + static_cast<sal_uInt16>(aEdPrec.GetValue()) ); + else + pLocalOptions->SetStdPrecision( SvNumberFormatter::UNLIMITED_PRECISION ); + if ( *pLocalOptions != *pOldOptions ) { rCoreAttrs.Put( ScTpCalcItem( nWhichCalc, *pLocalOptions ) ); @@ -245,19 +266,35 @@ IMPL_LINK( ScTpCalcOptions, RadioClickHdl, RadioButton*, pBtn ) //----------------------------------------------------------------------- -IMPL_LINK( ScTpCalcOptions, CheckClickHdl, CheckBox*, pBtn ) +IMPL_LINK( ScTpCalcOptions, CheckClickHdl, CheckBox*, pBtn ) { - if ( pBtn->IsChecked() ) + if (pBtn == &aBtnGeneralPrec) { - pLocalOptions->SetIter( TRUE ); - aFtSteps.Enable(); aEdSteps.Enable(); - aFtEps .Enable(); aEdEps .Enable(); + if (pBtn->IsChecked()) + { + aEdPrec.Enable(); + aFtPrec.Enable(); + } + else + { + aEdPrec.Disable(); + aFtPrec.Disable(); + } } - else + else if (pBtn == &aBtnIterate) { - pLocalOptions->SetIter( FALSE ); - aFtSteps.Disable(); aEdSteps.Disable(); - aFtEps .Disable(); aEdEps .Disable(); + if ( pBtn->IsChecked() ) + { + pLocalOptions->SetIter( TRUE ); + aFtSteps.Enable(); aEdSteps.Enable(); + aFtEps .Enable(); aEdEps .Enable(); + } + else + { + pLocalOptions->SetIter( FALSE ); + aFtSteps.Disable(); aEdSteps.Disable(); + aFtEps .Disable(); aEdEps .Disable(); + } } return 0; diff --git a/sc/source/ui/src/globstr.src b/sc/source/ui/src/globstr.src index b08676bbe3db..bbf20c436065 100644 --- a/sc/source/ui/src/globstr.src +++ b/sc/source/ui/src/globstr.src @@ -927,10 +927,6 @@ Resource RID_GLOBSTR /* END error constants and error strings. */ - String STR_ODER_SO - { - Text [ en-US ] = "%s or similar" ; - }; String STR_GRIDCOLOR { Text [ en-US ] = "Grid color" ; @@ -1021,7 +1017,7 @@ Resource RID_GLOBSTR }; String STR_QUERY_DELTAB { - Text [ en-US ] = "Are you sure you want to permanently delete the current sheet(s)?" ; + Text [ en-US ] = "Are you sure you want to delete the selected sheet(s)?" ; }; String STR_QUERY_DELSCENARIO { diff --git a/sc/source/ui/src/miscdlgs.src b/sc/source/ui/src/miscdlgs.src index d4aa01d436ce..06a19af7a8a7 100644 --- a/sc/source/ui/src/miscdlgs.src +++ b/sc/source/ui/src/miscdlgs.src @@ -154,11 +154,6 @@ ModalDialog RID_SCDLG_INSCELL }; }; -Bitmap RID_SCTEAMDLGBMP1 -{ - File = "calcteam.bmp"; -}; - ModalDialog RID_SCDLG_DELCONT { OutputSize = TRUE ; @@ -233,7 +228,7 @@ ModalDialog RID_SCDLG_DELCONT { Pos = MAP_APPFONT ( 12 , 86 ) ; Size = MAP_APPFONT ( 83 , 10 ) ; - Text [ en-US ] = "Not~es" ; + Text [ en-US ] = "~Comments" ; TabStop = TRUE ; }; CheckBox BTN_DELOBJECTS @@ -326,14 +321,14 @@ ModalDialog RID_SCDLG_INSCONT { Pos = MAP_APPFONT ( 12 , 114 ) ; Size = MAP_APPFONT ( 84 , 10 ) ; - Text [ en-US ] = "O~bjects" ; + Text [ en-US ] = "~Objects" ; TabStop = TRUE ; }; CheckBox BTN_INSNOTES { Pos = MAP_APPFONT ( 12 , 86 ) ; Size = MAP_APPFONT ( 84 , 10 ) ; - Text [ en-US ] = "N~otes" ; + Text [ en-US ] = "~Comments" ; TabStop = TRUE ; }; FixedLine FL_FRAME @@ -358,7 +353,7 @@ ModalDialog RID_SCDLG_INSCONT { Pos = MAP_APPFONT ( 111 , 44 ) ; Size = MAP_APPFONT ( 83 , 10 ) ; - Text [ en-US ] = "S~ubtract" ; + Text [ en-US ] = "~Subtract" ; }; RadioButton BTN_OP_MUL { @@ -1331,18 +1326,6 @@ ModalDialog RID_SCDLG_NAMES_PASTE Text [ en-US ] = "Insert Name" ; }; -FloatingWindow RID_SCDLG_TEAM -{ - Hide = TRUE ; - OutputSize = TRUE ; - SVLook = TRUE ; - Moveable = TRUE ; - Closeable = TRUE ; - Zoomable = TRUE ; - FixedBitmap 1 { Pos = MAP_APPFONT ( 1 , 1 ) ; }; - Text [ en-US ] = "The %PRODUCTNAME Calc Team" ; -}; - ModalDialog RID_SCDLG_CHARTCOLROW { OutputSize = TRUE ; diff --git a/sc/source/ui/src/optdlg.src b/sc/source/ui/src/optdlg.src index 856463e27e40..ea7cabf7716d 100644 --- a/sc/source/ui/src/optdlg.src +++ b/sc/source/ui/src/optdlg.src @@ -119,22 +119,6 @@ TabPage RID_SCPAGE_CALC Pos = MAP_APPFONT ( 6 , 64 ) ; Size = MAP_APPFONT ( 248 , 8 ) ; }; - FixedText FT_PREC - { - Pos = MAP_APPFONT ( 150 , 77 ) ; - Size = MAP_APPFONT ( 72 , 8 ) ; - Text [ en-US ] = "~Decimal places" ; - Right = TRUE ; - }; - NumericField ED_PREC - { - Border = TRUE ; - Pos = MAP_APPFONT ( 226 , 75 ) ; - Size = MAP_APPFONT ( 25 , 12 ) ; - Maximum = 20 ; - Spin = TRUE ; - Repeat = TRUE ; - }; CheckBox BTN_CASE { Pos = MAP_APPFONT ( 12 , 77 ) ; @@ -165,6 +149,28 @@ TabPage RID_SCPAGE_CALC Size = MAP_APPFONT ( 239 , 10 ) ; Text [ en-US ] = "~Automatically find column and row labels " ; }; + CheckBox BTN_GENERAL_PREC + { + Pos = MAP_APPFONT ( 12 , 147 ) ; + Size = MAP_APPFONT ( 136 , 10 ) ; + Text [ en-US ] = "Limit decimals for general number format" ; + }; + FixedText FT_PREC + { + Pos = MAP_APPFONT ( 150 , 148 ) ; + Size = MAP_APPFONT ( 72 , 8 ) ; + Text [ en-US ] = "~Decimal places" ; + Right = TRUE ; + }; + NumericField ED_PREC + { + Border = TRUE ; + Pos = MAP_APPFONT ( 226 , 146 ) ; + Size = MAP_APPFONT ( 25 , 12 ) ; + Maximum = 20 ; + Spin = TRUE ; + Repeat = TRUE ; + }; }; /**************************************************************************/ diff --git a/sc/source/ui/src/scfuncs.src b/sc/source/ui/src/scfuncs.src index 18adf9883373..2f5a2d8c88fb 100644 --- a/sc/source/ui/src/scfuncs.src +++ b/sc/source/ui/src/scfuncs.src @@ -1024,7 +1024,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS1 }; String 3 // Description of Parameter 1 { - Text [ en-US ] = "An interger between 1583 and 9956, or 0 and 99 (19xx or 20xx depending on the option set)."; + Text [ en-US ] = "An integer between 1583 and 9956, or 0 and 99 (19xx or 20xx depending on the option set)."; }; }; // -=*# Resource for function BW #*=- @@ -1576,7 +1576,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS1 { String 1 // Description { - Text [ en-US ] = "Calulates the arithmetically declining value of an asset (depreciation) for a specified period." ; + Text [ en-US ] = "Calculates the arithmetically declining value of an asset (depreciation) for a specified period." ; }; ExtraData = { @@ -4064,7 +4064,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS1 { String 1 // Description { - Text [ en-US ] = "Array transposition. Exchanges the rows and columns of an aray." ; + Text [ en-US ] = "Array transposition. Exchanges the rows and columns of an array." ; }; ExtraData = { @@ -4724,7 +4724,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 3 // Description of Parameter 1 { - Text [ en-US ] = "Value 1; value 2;.. .are 1 to 30 arguments representing a sample taken from a basic total population."; + Text [ en-US ] = "Value 1; value 2; ... are 1 to 30 arguments representing a sample taken from a basic total population."; }; }; // -=*# Resource for function VARIANZEN #*=- @@ -4820,7 +4820,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 3 // Description of Parameter 1 { - Text [ en-US ] = "Value 1; value 2;.. .are 1 to 30 arguments representing a sample taken from a basic total population."; + Text [ en-US ] = "Value 1; value 2; ... are 1 to 30 arguments representing a sample taken from a basic total population."; }; }; // -=*# Resource for function STABWN #*=- @@ -4916,7 +4916,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 3 // Description of Parameter 1 { - Text [ en-US ] = "Value 1; value 2;.. .are 1 to 30 arguments representing a sample taken from a basic total population."; + Text [ en-US ] = "Value 1; value 2; ... are 1 to 30 arguments representing a sample taken from a basic total population."; }; }; // -=*# Resource for function SUMQUADABW #*=- @@ -6358,7 +6358,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 7 // Description of Parameter 3 { - Text [ en-US ] = "Mode = 1calculates the one-tailed test, 2 = two-tailed distribution." ; + Text [ en-US ] = "Mode = 1 calculates the one-tailed test, 2 = two-tailed distribution." ; }; }; // -=*# Resource for function TINV #*=- @@ -7525,7 +7525,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 9 // Description of Parameter 4 { - Text [ en-US ] = "if the value is TRUE or not given, the search column of the array must be sorted in ascending order." ; + Text [ en-US ] = "If the value is TRUE or not given, the search column of the array must be sorted in ascending order." ; }; }; // -=*# Resource for function INDEX #*=- @@ -8397,7 +8397,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 { String 1 // Description { - Text [ en-US ] = "Converts a value into text." ; + Text [ en-US ] = "Returns a value if it is text, otherwise an empty string." ; }; ExtraData = { @@ -8413,7 +8413,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 3 // Description of Parameter 1 { - Text [ en-US ] = "The value to be converted." ; + Text [ en-US ] = "The value to be checked and returned if it is text." ; }; }; // -=*# Resource for function ERSETZEN #*=- @@ -8709,7 +8709,7 @@ Resource RID_SC_FUNCTION_DESCRIPTIONS2 }; String 9 // Description of Parameter 4 { - Text [ en-US ] = "Which occurence of the old text is to be replaced." ; + Text [ en-US ] = "Which occurrence of the old text is to be replaced." ; }; }; // -=*# Resource for function BASIS #*=- diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx index c61a6443af99..afe29a8309a7 100644 --- a/sc/source/ui/unoobj/cellsuno.cxx +++ b/sc/source/ui/unoobj/cellsuno.cxx @@ -769,6 +769,7 @@ const SfxItemPropertySet* lcl_GetSheetPropertySet() {MAP_CHAR_LEN(SC_UNONAME_VALIXML), SC_WID_UNO_VALIXML, &getCppuType((uno::Reference<beans::XPropertySet>*)0), 0, 0 }, {MAP_CHAR_LEN(SC_UNONAME_CELLVJUS), ATTR_VER_JUSTIFY, &getCppuType((table::CellVertJustify*)0), 0, 0 }, {MAP_CHAR_LEN(SC_UNONAME_WRITING), ATTR_WRITINGDIR, &getCppuType((sal_Int16*)0), 0, 0 }, + {MAP_CHAR_LEN(SC_UNO_CODENAME), SC_WID_UNO_CODENAME, &getCppuType(static_cast< const rtl::OUString * >(0)), 0, 0}, {0,0,0,0,0,0} }; static SfxItemPropertySet aSheetPropertySet( aSheetPropertyMap_Impl ); @@ -5515,7 +5516,7 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScCellRangeObj::createSortDescripto if ( pDocSh ) { // DB-Bereich anlegen erst beim Ausfuehren, per API immer genau den Bereich - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, TRUE ); + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, SC_DBSEL_FORCE_MARK ); if (pData) { pData->GetSortParam(aParam); @@ -5546,7 +5547,7 @@ void SAL_CALL ScCellRangeObj::sort( const uno::Sequence<beans::PropertyValue>& a { USHORT i; ScSortParam aParam; - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen if (pData) { // alten Einstellungen holen, falls nicht alles neu gesetzt wird @@ -5575,7 +5576,7 @@ void SAL_CALL ScCellRangeObj::sort( const uno::Sequence<beans::PropertyValue>& a aParam.nCol2 = aRange.aEnd.Col(); aParam.nRow2 = aRange.aEnd.Row(); - pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen ScDBDocFunc aFunc(*pDocSh); // Bereich muss angelegt sein aFunc.Sort( nTab, aParam, TRUE, TRUE, TRUE ); @@ -5593,7 +5594,7 @@ uno::Reference<sheet::XSheetFilterDescriptor> SAL_CALL ScCellRangeObj::createFil if ( !bEmpty && pDocSh ) { // DB-Bereich anlegen erst beim Ausfuehren, per API immer genau den Bereich - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, TRUE ); + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, SC_DBSEL_FORCE_MARK ); if (pData) { ScQueryParam aParam; @@ -5675,7 +5676,7 @@ void SAL_CALL ScCellRangeObj::filter( const uno::Reference<sheet::XSheetFilterDe aParam.nCol2 = aRange.aEnd.Col(); aParam.nRow2 = aRange.aEnd.Row(); - pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen //! keep source range in filter descriptor //! if created by createFilterDescriptorByObject ??? @@ -5762,7 +5763,7 @@ uno::Reference<sheet::XSubTotalDescriptor> SAL_CALL ScCellRangeObj::createSubTot if ( !bEmpty && pDocSh ) { // DB-Bereich anlegen erst beim Ausfuehren, per API immer genau den Bereich - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, TRUE ); + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, SC_DBSEL_FORCE_MARK ); if (pData) { ScSubTotalParam aParam; @@ -5825,7 +5826,7 @@ void SAL_CALL ScCellRangeObj::applySubTotals( aParam.nCol2 = aRange.aEnd.Col(); aParam.nRow2 = aRange.aEnd.Row(); - pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen ScDBDocFunc aFunc(*pDocSh); aFunc.DoSubTotals( nTab, aParam, NULL, TRUE, TRUE ); // Bereich muss angelegt sein @@ -5840,7 +5841,7 @@ void SAL_CALL ScCellRangeObj::removeSubTotals() throw(uno::RuntimeException) if (pDocSh) { ScSubTotalParam aParam; - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, TRUE ); + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, SC_DBSEL_FORCE_MARK ); if (pData) pData->GetSubTotalParam(aParam); // auch bei Remove die Feld-Eintraege behalten @@ -5852,7 +5853,7 @@ void SAL_CALL ScCellRangeObj::removeSubTotals() throw(uno::RuntimeException) aParam.nCol2 = aRange.aEnd.Col(); aParam.nRow2 = aRange.aEnd.Row(); - pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen ScDBDocFunc aFunc(*pDocSh); aFunc.DoSubTotals( nTab, aParam, NULL, TRUE, TRUE ); // Bereich muss angelegt sein @@ -5868,7 +5869,7 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScCellRangeObj::createImportDescrip if ( !bEmpty && pDocSh ) { // DB-Bereich anlegen erst beim Ausfuehren, per API immer genau den Bereich - ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, TRUE ); + ScDBData* pData = pDocSh->GetDBData( aRange, SC_DB_OLD, SC_DBSEL_FORCE_MARK ); if (pData) pData->GetImportParam(aParam); } @@ -5897,7 +5898,7 @@ void SAL_CALL ScCellRangeObj::doImport( const uno::Sequence<beans::PropertyValue //! TODO: could we get passed a valid result set by any means? uno::Reference< sdbc::XResultSet > xResultSet; - pDocSh->GetDBData( aRange, SC_DB_MAKE, TRUE ); // ggf. Bereich anlegen + pDocSh->GetDBData( aRange, SC_DB_MAKE, SC_DBSEL_FORCE_MARK ); // ggf. Bereich anlegen ScDBDocFunc aFunc(*pDocSh); // Bereich muss angelegt sein aFunc.DoImport( nTab, aParam, xResultSet, NULL, TRUE, FALSE ); //! Api-Flag als Parameter @@ -7912,7 +7913,8 @@ void SAL_CALL ScTableSheetObj::protect( const rtl::OUString& aPassword ) { ScUnoGuard aGuard; ScDocShell* pDocSh = GetDocShell(); - if ( pDocSh ) + // #i108245# if already protected, don't change anything + if ( pDocSh && !pDocSh->GetDocument()->IsTabProtected( GetTab_Impl() ) ) { String aString(aPassword); ScDocFunc aFunc(*pDocSh); @@ -7929,9 +7931,9 @@ void SAL_CALL ScTableSheetObj::unprotect( const rtl::OUString& aPassword ) { String aString(aPassword); ScDocFunc aFunc(*pDocSh); - aFunc.Unprotect( GetTab_Impl(), aString, TRUE ); - - //! Rueckgabewert auswerten, Exception oder so + BOOL bDone = aFunc.Unprotect( GetTab_Impl(), aString, TRUE ); + if (!bDone) + throw lang::IllegalArgumentException(); } } @@ -8467,6 +8469,15 @@ void ScTableSheetObj::SetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn pDoc->ClearPrintRanges( nTab ); // if this flag is true, there are no PrintRanges, so Clear clears only the flag. } } + else if ( pEntry->nWID == SC_WID_UNO_CODENAME ) + { + rtl::OUString aCodeName; + if ( pDocSh && ( aValue >>= aCodeName ) ) + { + String sNewName( aCodeName ); + pDocSh->GetDocument()->SetCodeName( GetTab_Impl(), sNewName ); + } + } else ScCellRangeObj::SetOnePropertyValue(pEntry, aValue); // base class, no Item WID } @@ -8605,6 +8616,13 @@ void ScTableSheetObj::GetOnePropertyValue( const SfxItemPropertySimpleEntry* pEn BOOL bAutoPrint = pDoc->IsPrintEntireSheet( nTab ); ScUnoHelpFunctions::SetBoolInAny( rAny, bAutoPrint ); } + else if ( pEntry->nWID == SC_WID_UNO_CODENAME ) + { + String aCodeName; + if ( pDocSh ) + pDocSh->GetDocument()->GetCodeName( GetTab_Impl(), aCodeName ); + rAny <<= rtl::OUString( aCodeName ); + } else ScCellRangeObj::GetOnePropertyValue(pEntry, rAny); } diff --git a/sc/source/ui/unoobj/cursuno.cxx b/sc/source/ui/unoobj/cursuno.cxx index 39ed859aa574..daf075964a3a 100644 --- a/sc/source/ui/unoobj/cursuno.cxx +++ b/sc/source/ui/unoobj/cursuno.cxx @@ -133,7 +133,7 @@ void SAL_CALL ScCellCursorObj::collapseToCurrentRegion() throw(uno::RuntimeExcep SCTAB nTab = aOneRange.aStart.Tab(); pDocSh->GetDocument()->GetDataArea( - nTab, nStartCol, nStartRow, nEndCol, nEndRow, TRUE ); + nTab, nStartCol, nStartRow, nEndCol, nEndRow, TRUE, false ); ScRange aNew( nStartCol, nStartRow, nTab, nEndCol, nEndRow, nTab ); SetNewRange( aNew ); @@ -331,7 +331,7 @@ void SAL_CALL ScCellCursorObj::gotoStart() throw(uno::RuntimeException) SCTAB nTab = aOneRange.aStart.Tab(); pDocSh->GetDocument()->GetDataArea( - nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE ); + nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE, false ); ScRange aNew( nStartCol, nStartRow, nTab ); SetNewRange( aNew ); @@ -359,7 +359,7 @@ void SAL_CALL ScCellCursorObj::gotoEnd() throw(uno::RuntimeException) SCTAB nTab = aOneRange.aStart.Tab(); pDocSh->GetDocument()->GetDataArea( - nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE ); + nTab, nStartCol, nStartRow, nEndCol, nEndRow, FALSE, false ); ScRange aNew( nEndCol, nEndRow, nTab ); SetNewRange( aNew ); diff --git a/sc/source/ui/unoobj/dapiuno.cxx b/sc/source/ui/unoobj/dapiuno.cxx index 7e23d6b2f9f5..c7bf89671161 100755 --- a/sc/source/ui/unoobj/dapiuno.cxx +++ b/sc/source/ui/unoobj/dapiuno.cxx @@ -1891,9 +1891,10 @@ void SAL_CALL ScDataPilotFieldObj::setPropertyValue( const OUString& aPropertyNa String aNameString(aPropertyName); if ( aNameString.EqualsAscii( SC_UNONAME_FUNCTION ) ) { - GeneralFunction eFunction = GeneralFunction_NONE; - if( aValue >>= eFunction ) - setFunction( eFunction ); + // #i109350# use GetEnumFromAny because it also allows sal_Int32 + GeneralFunction eFunction = (GeneralFunction) + ScUnoHelpFunctions::GetEnumFromAny( aValue ); + setFunction( eFunction ); } else if ( aNameString.EqualsAscii( SC_UNONAME_SUBTOTALS ) ) { diff --git a/sc/source/ui/unoobj/defltuno.cxx b/sc/source/ui/unoobj/defltuno.cxx index 141a7d0abb73..f3f76685e5cb 100644 --- a/sc/source/ui/unoobj/defltuno.cxx +++ b/sc/source/ui/unoobj/defltuno.cxx @@ -46,6 +46,8 @@ #include "unonames.hxx" #include "docoptio.hxx" +#include <limits> + using namespace ::com::sun::star; //------------------------------------------------------------------------ @@ -157,7 +159,7 @@ void SAL_CALL ScDocDefaultsObj::setPropertyValue( sal_Int16 nValue = 0; if (aValue >>= nValue) { - aDocOpt.SetStdPrecision(static_cast<sal_uInt8> (nValue)); + aDocOpt.SetStdPrecision(static_cast<sal_uInt16> (nValue)); pDoc->SetDocOptions(aDocOpt); } } @@ -250,7 +252,12 @@ uno::Any SAL_CALL ScDocDefaultsObj::getPropertyValue( const rtl::OUString& aProp if (pDoc) { const ScDocOptions& aDocOpt = pDoc->GetDocOptions(); - aRet <<= static_cast<sal_Int16> (aDocOpt.GetStdPrecision()); + sal_uInt16 nPrec = aDocOpt.GetStdPrecision(); + // the max value of unsigned 16-bit integer is used as the flag + // value for unlimited precision, c.f. + // SvNumberFormatter::UNLIMITED_PRECISION. + if (nPrec <= ::std::numeric_limits<sal_Int16>::max()) + aRet <<= static_cast<sal_Int16> (nPrec); } else throw uno::RuntimeException(); diff --git a/sc/source/ui/unoobj/docuno.cxx b/sc/source/ui/unoobj/docuno.cxx index 8e857adca09c..d9fb4d53e634 100644 --- a/sc/source/ui/unoobj/docuno.cxx +++ b/sc/source/ui/unoobj/docuno.cxx @@ -152,6 +152,7 @@ const SfxItemPropertyMapEntry* lcl_GetDocOptPropertyMap() {MAP_CHAR_LEN(SC_UNO_ISCHANGEREADONLYENABLED), 0, &getBooleanCppuType(), 0, 0}, {MAP_CHAR_LEN(SC_UNO_REFERENCEDEVICE), 0, &getCppuType((uno::Reference<awt::XDevice>*)0), beans::PropertyAttribute::READONLY, 0}, {MAP_CHAR_LEN("BuildId"), 0, &::getCppuType(static_cast< const rtl::OUString * >(0)), 0, 0}, + {MAP_CHAR_LEN(SC_UNO_CODENAME), 0, &getCppuType(static_cast< const rtl::OUString * >(0)), 0, 0}, {0,0,0,0,0,0} }; @@ -1039,18 +1040,21 @@ uno::Sequence<beans::PropertyValue> SAL_CALL ScModelObj::getRenderer( sal_Int32 Size aTwips = aFunc.GetPageSize(); awt::Size aPageSize( TwipsToHMM( aTwips.Width() ), TwipsToHMM( aTwips.Height() ) ); - long nPropCount = bWasCellRange ? 2 : 1; + long nPropCount = bWasCellRange ? 3 : 2; uno::Sequence<beans::PropertyValue> aSequence(nPropCount); beans::PropertyValue* pArray = aSequence.getArray(); pArray[0].Name = rtl::OUString::createFromAscii( SC_UNONAME_PAGESIZE ); pArray[0].Value <<= aPageSize; + // #i111158# all positions are relative to the whole page, including non-printable area + pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_INC_NP_AREA ); + pArray[1].Value = uno::makeAny( sal_True ); if ( bWasCellRange ) { table::CellRangeAddress aRangeAddress( nTab, aCellRange.aStart.Col(), aCellRange.aStart.Row(), aCellRange.aEnd.Col(), aCellRange.aEnd.Row() ); - pArray[1].Name = rtl::OUString::createFromAscii( SC_UNONAME_SOURCERANGE ); - pArray[1].Value <<= aRangeAddress; + pArray[2].Name = rtl::OUString::createFromAscii( SC_UNONAME_SOURCERANGE ); + pArray[2].Value <<= aRangeAddress; } #if 0 @@ -1392,7 +1396,8 @@ void SAL_CALL ScModelObj::enableAutomaticCalculation( sal_Bool bEnabled ) void SAL_CALL ScModelObj::protect( const rtl::OUString& aPassword ) throw(uno::RuntimeException) { ScUnoGuard aGuard; - if (pDocShell) + // #i108245# if already protected, don't change anything + if ( pDocShell && !pDocShell->GetDocument()->IsDocProtected() ) { String aString(aPassword); @@ -1410,9 +1415,9 @@ void SAL_CALL ScModelObj::unprotect( const rtl::OUString& aPassword ) String aString(aPassword); ScDocFunc aFunc(*pDocShell); - aFunc.Unprotect( TABLEID_DOC, aString, TRUE ); - - //! Rueckgabewert auswerten, Exception oder so + BOOL bDone = aFunc.Unprotect( TABLEID_DOC, aString, TRUE ); + if (!bDone) + throw lang::IllegalArgumentException(); } } @@ -1651,6 +1656,12 @@ void SAL_CALL ScModelObj::setPropertyValue( pDoc->SetLanguage( eLatin, eCjk, eCtl ); } } + else if ( aString.EqualsAscii( SC_UNO_CODENAME ) ) + { + rtl::OUString sCodeName; + if ( aValue >>= sCodeName ) + pDoc->SetCodeName( sCodeName ); + } else if ( aString.EqualsAscii( SC_UNO_CJK_CLOCAL ) ) { lang::Locale aLocale; @@ -1783,6 +1794,12 @@ uno::Any SAL_CALL ScModelObj::getPropertyValue( const rtl::OUString& aPropertyNa ScUnoConversion::FillLocale( aLocale, eLatin ); aRet <<= aLocale; } + else if ( aString.EqualsAscii( SC_UNO_CODENAME ) ) + { + rtl::OUString sCodeName = pDoc->GetCodeName(); + aRet <<= sCodeName; + } + else if ( aString.EqualsAscii( SC_UNO_CJK_CLOCAL ) ) { LanguageType eLatin, eCjk, eCtl; @@ -2074,6 +2091,13 @@ sal_Int64 SAL_CALL ScModelObj::getSomething( return sal::static_int_cast<sal_Int64>(reinterpret_cast<sal_IntPtr>(this)); } + if ( rId.getLength() == 16 && + 0 == rtl_compareMemory( SfxObjectShell::getUnoTunnelId().getConstArray(), + rId.getConstArray(), 16 ) ) + { + return sal::static_int_cast<sal_Int64>(reinterpret_cast<sal_IntPtr>(pDocShell )); + } + // aggregated number formats supplier has XUnoTunnel, too // interface from aggregated object must be obtained via queryAggregation diff --git a/sc/source/ui/unoobj/filtuno.cxx b/sc/source/ui/unoobj/filtuno.cxx index 8591f2fc0801..efe804784a40 100644 --- a/sc/source/ui/unoobj/filtuno.cxx +++ b/sc/source/ui/unoobj/filtuno.cxx @@ -185,7 +185,9 @@ sal_Int16 SAL_CALL ScFilterOptionsObj::execute() throw(uno::RuntimeException) } else if ( aFilterString == ScDocShell::GetWebQueryFilterName() || aFilterString == ScDocShell::GetHtmlFilterName() ) { - if (!bExport) + if (bExport) + nRet = ui::dialogs::ExecutableDialogResults::OK; // export HTML without dialog + else { // HTML import. ::std::auto_ptr<AbstractScTextImportOptionsDlg> pDlg( diff --git a/sc/source/ui/unoobj/nameuno.cxx b/sc/source/ui/unoobj/nameuno.cxx index 474d07764127..75686df460d6 100644 --- a/sc/source/ui/unoobj/nameuno.cxx +++ b/sc/source/ui/unoobj/nameuno.cxx @@ -340,7 +340,7 @@ uno::Reference<table::XCellRange> SAL_CALL ScNamedRangeObj::getReferredCells() ScUnoGuard aGuard; ScRange aRange; ScRangeData* pData = GetRangeData_Impl(); - if ( pData && pData->IsReference( aRange ) ) + if ( pData && pData->IsValidReference( aRange ) ) { //! static Funktion um ScCellObj/ScCellRangeObj zu erzeugen am ScCellRangeObj ??? diff --git a/sc/source/ui/unoobj/scdetect.cxx b/sc/source/ui/unoobj/scdetect.cxx index cded62efa3a8..80cb88595b11 100644 --- a/sc/source/ui/unoobj/scdetect.cxx +++ b/sc/source/ui/unoobj/scdetect.cxx @@ -256,6 +256,7 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) sal_Int32 nIndexOfReadOnlyFlag = -1; sal_Int32 nIndexOfTemplateFlag = -1; sal_Int32 nIndexOfDocumentTitle = -1; + bool bFakeXLS = false; for( sal_Int32 nProperty=0; nProperty<nPropertyCount; ++nProperty ) { @@ -436,8 +437,11 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) } else { + bool bIsXLS = false; SvStream* pStream = aMedium.GetInStream(); const SfxFilter* pPreselectedFilter = pFilter; + if ( pPreselectedFilter && pPreselectedFilter->GetName().SearchAscii("Excel") != STRING_NOTFOUND ) + bIsXLS = true; pFilter = 0; if ( pStream ) { @@ -718,7 +722,8 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) // further checks for filters only if they are preselected: ASCII, HTML, RTF, DBase // without the preselection other filters (Writer) take precedence // DBase can't be detected reliably, so it also needs preselection - if ( pPreselectedFilter->GetFilterName().EqualsAscii(pFilterAscii) && lcl_MayBeAscii( rStr ) ) + bool bMaybeText = lcl_MayBeAscii( rStr ); + if ( pPreselectedFilter->GetFilterName().EqualsAscii(pFilterAscii) && bMaybeText ) { // Text filter is accepted if preselected pFilter = pPreselectedFilter; @@ -747,8 +752,15 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) else { pFilter = aMatcher.GetFilter4FilterName( String::CreateFromAscii(pFilterHtmlWeb) ); + if ( bIsXLS ) + bFakeXLS = true; } } + else if ( bIsXLS && bMaybeText ) + { + pFilter = aMatcher.GetFilter4FilterName( String::CreateFromAscii(pFilterAscii) ); + bFakeXLS = true; + } else if ( aHeader.CompareTo( "{\\rtf", 5 ) == COMPARE_EQUAL ) { // test for RTF @@ -834,6 +846,19 @@ static BOOL lcl_IsAnyXMLFilter( const SfxFilter* pFilter ) lDescriptor[nIndexOfDocumentTitle].Value <<= aDocumentTitle; } + if ( bFakeXLS ) + { + if ( nIndexOfFilterName == -1 ) + { + lDescriptor.realloc( nPropertyCount + 1 ); + lDescriptor[nPropertyCount].Name = ::rtl::OUString::createFromAscii("FilterName"); + lDescriptor[nPropertyCount].Value <<= rtl::OUString(pFilter->GetName()); + nPropertyCount++; + } + else + lDescriptor[nIndexOfFilterName].Value <<= rtl::OUString(pFilter->GetName()); + } + if ( pFilter ) aTypeName = pFilter->GetTypeName(); else diff --git a/sc/source/ui/unoobj/servuno.cxx b/sc/source/ui/unoobj/servuno.cxx index 0c57963a4f12..0b3a6f01f9ea 100644 --- a/sc/source/ui/unoobj/servuno.cxx +++ b/sc/source/ui/unoobj/servuno.cxx @@ -37,6 +37,7 @@ #include <com/sun/star/sheet/XSpreadsheetDocument.hpp> #include "servuno.hxx" +#include "unoguard.hxx" #include "unonames.hxx" #include "cellsuno.hxx" #include "fielduno.hxx" @@ -65,8 +66,127 @@ #include <com/sun/star/form/XFormsSupplier.hpp> #include <svx/unomod.hxx> +#include <comphelper/processfactory.hxx> +#include <basic/basmgr.hxx> +#include <sfx2/app.hxx> + using namespace ::com::sun::star; +#ifndef CWS_NPOWER14MISCFIXES +uno::Reference< uno::XInterface > lcl_createVBAUnoAPIServiceWithArgs( SfxObjectShell* pShell, const sal_Char* _pAsciiName, const uno::Sequence< uno::Any >& aArgs ) throw (uno::RuntimeException) +{ + uno::Any aUnoVar; + if ( !pShell || !pShell->GetBasicManager()->GetGlobalUNOConstant( "VBAGlobals", aUnoVar ) ) + throw lang::IllegalArgumentException(); + uno::Reference< lang::XMultiServiceFactory > xVBAFactory( aUnoVar, uno::UNO_QUERY_THROW ); + ::rtl::OUString sVarName( ::rtl::OUString::createFromAscii( _pAsciiName ) ); + uno::Reference< uno::XInterface > xIf = xVBAFactory->createInstanceWithArguments( sVarName, aArgs ); + return xIf; +} +#endif + +class ScVbaObjectForCodeNameProvider : public ::cppu::WeakImplHelper1< container::XNameAccess > +{ + uno::Any maWorkbook; + uno::Any maCachedObject; + ScDocShell* mpDocShell; +public: + ScVbaObjectForCodeNameProvider( ScDocShell* pDocShell ) : mpDocShell( pDocShell ) + { + ScDocument* pDoc = mpDocShell->GetDocument(); + if ( !pDoc ) + throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("")), uno::Reference< uno::XInterface >() ); + + uno::Sequence< uno::Any > aArgs(2); + aArgs[0] = uno::Any( uno::Reference< uno::XInterface >() ); + aArgs[1] = uno::Any( mpDocShell->GetModel() ); +#ifdef CWS_NPOWER14MISCFIXES + maWorkbook <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Workbook", aArgs ); +#else + maWorkbook <<= lcl_createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Workbook", aArgs ); +#endif + } + + virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException ) + { + ScUnoGuard aGuard; + maCachedObject = uno::Any(); // clear cached object + String sName = aName; + + ScDocument* pDoc = mpDocShell->GetDocument(); + if ( !pDoc ) + throw uno::RuntimeException(); + if ( sName == pDoc->GetCodeName() ) + maCachedObject = maWorkbook; + else + { + String sCodeName; + SCTAB nCount = pDoc->GetTableCount(); + for( SCTAB i = 0; i < nCount; i++ ) + { + pDoc->GetCodeName( i, sCodeName ); + if( sCodeName == sName ) + { + String sSheetName; + if( pDoc->GetName( i, sSheetName ) ) + { + uno::Reference< frame::XModel > xModel( mpDocShell->GetModel() ); + uno::Reference <sheet::XSpreadsheetDocument> xSpreadDoc( xModel, uno::UNO_QUERY_THROW ); + uno::Reference<sheet::XSpreadsheets > xSheets( xSpreadDoc->getSheets(), uno::UNO_QUERY_THROW ); + uno::Reference< container::XIndexAccess > xIndexAccess( xSheets, uno::UNO_QUERY_THROW ); + uno::Reference< sheet::XSpreadsheet > xSheet( xIndexAccess->getByIndex( i ), uno::UNO_QUERY_THROW ); + uno::Sequence< uno::Any > aArgs(3); + aArgs[0] = maWorkbook; + aArgs[1] = uno::Any( xModel ); + aArgs[2] = uno::Any( rtl::OUString( sSheetName ) ); +#ifdef CWS_NPOWER14MISCFIXES + // use the convience function + maCachedObject <<= ooo::vba::createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Worksheet", aArgs ); +#else + // use the temp function + maCachedObject <<= lcl_createVBAUnoAPIServiceWithArgs( mpDocShell, "ooo.vba.excel.Worksheet", aArgs ); +#endif + break; + } + } + } + } + return maCachedObject.hasValue(); + + } + ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) + { + ScUnoGuard aGuard; + OSL_TRACE("ScVbaObjectForCodeNameProvider::getByName( %s )", + rtl::OUStringToOString( aName, RTL_TEXTENCODING_UTF8 ).getStr() ); + if ( !hasByName( aName ) ) + throw ::com::sun::star::container::NoSuchElementException(); + return maCachedObject; + } + virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException) + { + ScUnoGuard aGuard; + ScDocument* pDoc = mpDocShell->GetDocument(); + if ( !pDoc ) + throw uno::RuntimeException(); + SCTAB nCount = pDoc->GetTableCount(); + uno::Sequence< rtl::OUString > aNames( nCount + 1 ); + SCTAB index = 0; + String sCodeName; + for( ; index < nCount; ++index ) + { + pDoc->GetCodeName( index, sCodeName ); + aNames[ index ] = sCodeName; + } + aNames[ index ] = pDoc->GetCodeName(); + return aNames; + } + // XElemenAccess + virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException){ return uno::Type(); } + virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException ) { return sal_True; } + +}; + class ScVbaCodeNameProvider : public ::cppu::WeakImplHelper1< document::XCodeNameQuery > { ScDocShell* mpDocShell; @@ -75,6 +195,7 @@ public: // XCodeNameQuery rtl::OUString SAL_CALL getCodeNameForObject( const uno::Reference< uno::XInterface >& xIf ) throw( uno::RuntimeException ) { + ScUnoGuard aGuard; rtl::OUString sCodeName; if ( mpDocShell ) { @@ -172,7 +293,9 @@ static const ProvNamesId_Type __FAR_DATA aProvNamesId[] = { SC_SERVICENAME_CHDATAPROV, SC_SERVICE_CHDATAPROV }, { SC_SERVICENAME_FORMULAPARS, SC_SERVICE_FORMULAPARS }, { SC_SERVICENAME_OPCODEMAPPER, SC_SERVICE_OPCODEMAPPER }, + { "ooo.vba.VBAObjectModuleObjectProvider", SC_SERVICE_VBAOBJECTPROVIDER }, { "ooo.vba.VBACodeNameProvider", SC_SERVICE_VBACODENAMEPROVIDER }, + { "ooo.vba.VBAGlobals", SC_SERVICE_VBAGLOBALS }, // case-correct versions of the service names (#i102468#) { "com.sun.star.text.textfield.URL", SC_SERVICE_URLFIELD }, @@ -182,7 +305,7 @@ static const ProvNamesId_Type __FAR_DATA aProvNamesId[] = { "com.sun.star.text.textfield.Time", SC_SERVICE_TIMEFIELD }, { "com.sun.star.text.textfield.DocumentTitle", SC_SERVICE_TITLEFIELD }, { "com.sun.star.text.textfield.FileName", SC_SERVICE_FILEFIELD }, - { "com.sun.star.text.textfield.SheetName", SC_SERVICE_SHEETFIELD }, + { "com.sun.star.text.textfield.SheetName", SC_SERVICE_SHEETFIELD } }; // @@ -235,7 +358,9 @@ static const sal_Char* __FAR_DATA aOldNames[SC_SERVICE_COUNT] = "", // SC_SERVICE_CHDATAPROV "", // SC_SERVICE_FORMULAPARS "", // SC_SERVICE_OPCODEMAPPER + "", // SC_SERVICE_VBAOBJECTPROVIDER "", // SC_SERVICE_VBACODENAMEPROVIDER + "", // SC_SERVICE_VBAGLOBALS }; @@ -440,6 +565,13 @@ uno::Reference<uno::XInterface> ScServiceProvider::MakeInstance( xRet.set(static_cast<sheet::XFormulaOpCodeMapper*>(new ScFormulaOpCodeMapperObj(::std::auto_ptr<formula::FormulaCompiler> (pComp)))); break; } + case SC_SERVICE_VBAOBJECTPROVIDER: + if ( pDocShell ) + { + OSL_TRACE("**** creating VBA Object mapper"); + xRet.set(static_cast<container::XNameAccess*>(new ScVbaObjectForCodeNameProvider( pDocShell ))); + } + break; case SC_SERVICE_VBACODENAMEPROVIDER: { // Only create the excel faking service for excel docs @@ -453,6 +585,25 @@ uno::Reference<uno::XInterface> ScServiceProvider::MakeInstance( } break; } + case SC_SERVICE_VBAGLOBALS: + { + uno::Any aGlobs; + ScDocument* pDoc = pDocShell->GetDocument(); + if ( pDoc ) + { + if ( !pDocShell->GetBasicManager()->GetGlobalUNOConstant( "VBAGlobals", aGlobs ) ) + { + uno::Sequence< uno::Any > aArgs(1); + aArgs[ 0 ] <<= pDocShell->GetModel(); + aGlobs <<= ::comphelper::getProcessServiceFactory()->createInstanceWithArguments( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ooo.vba.excel.Globals" ) ), aArgs ); + pDocShell->GetBasicManager()->SetGlobalUNOConstant( "VBAGlobals", aGlobs ); + BasicManager* pAppMgr = SFX_APP()->GetBasicManager(); + if ( pAppMgr ) + pAppMgr->SetGlobalUNOConstant( "ThisExcelDoc", aArgs[ 0 ] ); + } + aGlobs >>= xRet; + } + } } return xRet; diff --git a/sc/source/ui/vba/excelvbahelper.cxx b/sc/source/ui/vba/excelvbahelper.cxx index 4912863a446e..b1c4db637434 100644 --- a/sc/source/ui/vba/excelvbahelper.cxx +++ b/sc/source/ui/vba/excelvbahelper.cxx @@ -208,12 +208,11 @@ getViewFrame( const uno::Reference< frame::XModel >& xModel ) } SfxItemSet* -ScVbaCellRangeAccess::GetDataSet( ScCellRangeObj* pRangeObj ) +ScVbaCellRangeAccess::GetDataSet( ScCellRangesBase* pRangeObj ) { - SfxItemSet* pDataSet = pRangeObj ? pRangeObj->GetCurrentDataSet( true ) : NULL ; - return pDataSet; - + return pRangeObj ? pRangeObj->GetCurrentDataSet( true ) : 0; } + } //excel } //vba } //ooo diff --git a/sc/source/ui/vba/excelvbahelper.hxx b/sc/source/ui/vba/excelvbahelper.hxx index 34b099e6db46..9af804ab169f 100644 --- a/sc/source/ui/vba/excelvbahelper.hxx +++ b/sc/source/ui/vba/excelvbahelper.hxx @@ -30,7 +30,7 @@ #include<vbahelper/vbahelper.hxx> #include <docsh.hxx> -class ScCellRangeObj; +class ScCellRangesBase; namespace ooo { @@ -51,7 +51,7 @@ namespace ooo class ScVbaCellRangeAccess { public: - static SfxItemSet* GetDataSet( ScCellRangeObj* pRangeObj ); + static SfxItemSet* GetDataSet( ScCellRangesBase* pRangeObj ); }; } } diff --git a/sc/source/ui/vba/testvba/runTests.pl b/sc/source/ui/vba/testvba/runTests.pl index f5051516a9c4..e686a1d4cb89 100644..100755 --- a/sc/source/ui/vba/testvba/runTests.pl +++ b/sc/source/ui/vba/testvba/runTests.pl @@ -20,7 +20,7 @@ my $theResult; my $officepath = shift || die "please specify path to office installation program dir"; my $DocName = shift || ""; my $programpath = "$officepath"."3/program:$officepath/program:"; -my $basiclibrarypath = "$officepath/basis3.2/program"; +my $basiclibrarypath = "$officepath/basis3.3/program"; my $urelibpath = "$officepath/ure/lib"; my $binext = ""; my $testDocDir = "$binDir/TestDocuments"; diff --git a/sc/source/ui/vba/testvba/testclient b/sc/source/ui/vba/testvba/testclient Binary files differindex 12e9ca1659f4..c9cde8c5b052 100755 --- a/sc/source/ui/vba/testvba/testclient +++ b/sc/source/ui/vba/testvba/testclient diff --git a/sc/source/ui/vba/vbaapplication.cxx b/sc/source/ui/vba/vbaapplication.cxx index 5d9e513dabeb..3d5af01acef1 100644 --- a/sc/source/ui/vba/vbaapplication.cxx +++ b/sc/source/ui/vba/vbaapplication.cxx @@ -132,10 +132,16 @@ ScVbaApplication::getActiveWorkbook() throw (uno::RuntimeException) { return new ActiveWorkbook( this, mxContext ); } + uno::Reference< excel::XWorkbook > SAL_CALL ScVbaApplication::getThisWorkbook() throw (uno::RuntimeException) { - return getActiveWorkbook(); + uno::Reference< frame::XModel > xModel = getThisExcelDoc(mxContext); + if( !xModel.is() ) + return uno::Reference< excel::XWorkbook >(); + + ScVbaWorkbook *pWb = new ScVbaWorkbook( this, mxContext, xModel ); + return uno::Reference< excel::XWorkbook > (pWb); } uno::Reference< XAssistant > SAL_CALL @@ -769,46 +775,74 @@ bool lcl_canJoin( ScRange& r1, ScRange& r2 ) void lcl_strip_containedRanges( Ranges& vRanges ) { // get rid of ranges that are surrounded by other ranges - for( Ranges::iterator it = vRanges.begin(); it != vRanges.end(); ++it ) + Ranges::iterator it_outer = vRanges.begin(); + while( it_outer != vRanges.end() ) { - for( Ranges::iterator it_inner = vRanges.begin(); it_inner != vRanges.end(); ++it_inner ) + bool it_outer_erased = false; // true = it_outer erased from vRanges + Ranges::iterator it_inner = vRanges.begin(); + /* Exit the inner loop if outer iterator has been erased in its last + iteration (this means it has been joined to last it_inner, or that + the it_inner contains it completely). The inner loop will restart + with next element of the outer loop, and all elements (from the + beginning of the list) will be checked against that new element. */ + while( !it_outer_erased && (it_inner != vRanges.end()) ) { - if ( it != it_inner ) + bool it_inner_erased = false; // true = it_inner erased from vRanges + if ( it_outer != it_inner ) { #ifdef DEBUG - String r1; - String r2; - it->Format( r1, SCA_VALID ) ; - it_inner->Format( r2, SCA_VALID ) ; - OSL_TRACE( "try strip/join address %s with %s ", - rtl::OUStringToOString( r1, RTL_TEXTENCODING_UTF8 ).getStr(), - rtl::OUStringToOString( r2, RTL_TEXTENCODING_UTF8 ).getStr() ); + String r1; + String r2; + it_outer->Format( r1, SCA_VALID ) ; + it_inner->Format( r2, SCA_VALID ) ; + OSL_TRACE( "try strip/join address %s with %s ", + rtl::OUStringToOString( r1, RTL_TEXTENCODING_UTF8 ).getStr(), + rtl::OUStringToOString( r2, RTL_TEXTENCODING_UTF8 ).getStr() ); #endif - if ( it->In( *it_inner ) ) + if ( it_outer->In( *it_inner ) ) + { it_inner = vRanges.erase( it_inner ); - else if ( it_inner->In( *it ) ) - it = vRanges.erase( it ); + it_inner_erased = true; + } + else if ( it_inner->In( *it_outer ) ) + { + it_outer = vRanges.erase( it_outer ); + it_outer_erased = true; + } #ifndef OWN_JOIN - else if ( (*it_inner).aStart.Row() == (*it).aStart.Row() - && (*it_inner).aEnd.Row() == (*it).aEnd.Row() ) + else if ( (*it_inner).aStart.Row() == (*it_outer).aStart.Row() + && (*it_inner).aEnd.Row() == (*it_outer).aEnd.Row() ) { - it->ExtendTo( *it_inner ); + it_outer->ExtendTo( *it_inner ); it_inner = vRanges.erase( it_inner ); + it_inner_erased = true; } #else - else if ( lcl_canJoin( *it, *it_inner ) ) + else if ( lcl_canJoin( *it_outer, *it_inner ) ) { - it->ExtendTo( *it_inner ); + it_outer->ExtendTo( *it_inner ); it_inner = vRanges.erase( it_inner ); + it_inner_erased = true; } - else if ( lcl_canJoin( *it_inner, *it) ) + else if ( lcl_canJoin( *it_inner, *it_outer) ) { - it_inner->ExtendTo( *it ); - it = vRanges.erase( it ); + it_inner->ExtendTo( *it_outer ); + it_outer = vRanges.erase( it_outer ); + it_outer_erased = true; } #endif } + /* If it_inner has not been erased from vRanges, continue inner + loop with next element. Otherwise, it_inner already points to + the next element (return value of list::erase()). */ + if( !it_inner_erased ) + ++it_inner; } + /* If it_outer has not been erased from vRanges, continue outer loop + with next element. Otherwise, it_outer already points to the next + element (return value of list::erase()). */ + if( !it_outer_erased ) + ++it_outer; } } diff --git a/sc/source/ui/vba/vbaformat.cxx b/sc/source/ui/vba/vbaformat.cxx index c98029fb1292..23c2bf96a810 100644 --- a/sc/source/ui/vba/vbaformat.cxx +++ b/sc/source/ui/vba/vbaformat.cxx @@ -45,7 +45,10 @@ #include "vbafont.hxx" #include "vbainterior.hxx" -#include "unonames.hxx" +#include <unonames.hxx> +#include <cellsuno.hxx> +#include <scitems.hxx> +#include <attrib.hxx> using namespace ::ooo::vba; using namespace ::com::sun::star; @@ -571,14 +574,24 @@ ScVbaFormat<Ifc1>::getLocked( ) throw (script::BasicErrorException, uno::Runtim uno::Any aCellProtection = aNULL(); try { - rtl::OUString sCellProt( RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_CELLPRO ) ); + if (!isAmbiguous(sCellProt)) { - util::CellProtection cellProtection; - mxPropertySet->getPropertyValue(sCellProt) >>= cellProtection; - - aCellProtection = uno::makeAny( cellProtection.IsLocked ); + SfxItemSet* pDataSet = getCurrentDataSet(); + if ( pDataSet ) + { + const ScProtectionAttr& rProtAttr = (const ScProtectionAttr &) pDataSet->Get(ATTR_PROTECTION, TRUE); + SfxItemState eState = pDataSet->GetItemState(ATTR_PROTECTION, TRUE, NULL); + if(eState != SFX_ITEM_DONTCARE) + aCellProtection = uno::makeAny(rProtAttr.GetProtection()); + } + else // fallback to propertyset + { + util::CellProtection cellProtection; + mxPropertySet->getPropertyValue(sCellProt) >>= aCellProtection; + aCellProtection = uno::makeAny( cellProtection.IsLocked ); + } } } catch (uno::Exception& ) @@ -598,9 +611,20 @@ ScVbaFormat<Ifc1>::getFormulaHidden( ) throw (script::BasicErrorException, uno: rtl::OUString sCellProt( RTL_CONSTASCII_USTRINGPARAM( SC_UNONAME_CELLPRO ) ); if (!isAmbiguous(sCellProt)) { - util::CellProtection aCellProtection; - mxPropertySet->getPropertyValue(sCellProt) >>= aCellProtection; - aBoolRet = uno::makeAny( aCellProtection.IsFormulaHidden ); + SfxItemSet* pDataSet = getCurrentDataSet(); + if ( pDataSet ) + { + const ScProtectionAttr& rProtAttr = (const ScProtectionAttr &) pDataSet->Get(ATTR_PROTECTION, TRUE); + SfxItemState eState = pDataSet->GetItemState(ATTR_PROTECTION, TRUE, NULL); + if(eState != SFX_ITEM_DONTCARE) + aBoolRet = uno::makeAny(rProtAttr.GetHideFormula()); + } + else + { + util::CellProtection aCellProtection; + mxPropertySet->getPropertyValue(sCellProt) >>= aCellProtection; + aBoolRet = uno::makeAny( aCellProtection.IsFormulaHidden ); + } } } catch (uno::Exception e) @@ -794,6 +818,24 @@ ScVbaFormat<Ifc1>::getServiceNames() return aServiceNames; } +template< typename Ifc1 > +ScCellRangesBase* +ScVbaFormat<Ifc1>::getCellRangesBase() throw ( ::uno::RuntimeException ) +{ + return ScCellRangesBase::getImplementation( mxPropertySet ); +} + +template< typename Ifc1 > +SfxItemSet* +ScVbaFormat<Ifc1>::getCurrentDataSet( ) throw ( uno::RuntimeException ) +{ + SfxItemSet* pDataSet = excel::ScVbaCellRangeAccess::GetDataSet( getCellRangesBase() ); + if ( !pDataSet ) + throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can't access Itemset for XPropertySet" ) ), uno::Reference< uno::XInterface >() ); + return pDataSet; +} + + template class ScVbaFormat< excel::XStyle >; template class ScVbaFormat< excel::XRange >; diff --git a/sc/source/ui/vba/vbaformat.hxx b/sc/source/ui/vba/vbaformat.hxx index e024cd68b9ad..bfa88d6c7cb8 100644 --- a/sc/source/ui/vba/vbaformat.hxx +++ b/sc/source/ui/vba/vbaformat.hxx @@ -38,6 +38,8 @@ #include <com/sun/star/beans/XPropertyState.hpp> #include <vbahelper/vbahelperinterface.hxx> +class ScCellRangesBase; + template< typename Ifc1 > class ScVbaFormat : public InheritedHelperInterfaceImpl1< Ifc1 > { @@ -60,6 +62,9 @@ protected: css::uno::Reference< css::beans::XPropertyState > getXPropertyState() throw ( css::uno::RuntimeException ); void initializeNumberFormats() throw ( css::script::BasicErrorException ); void setNumberFormat( css::lang::Locale _aLocale, const rtl::OUString& _sFormatString) throw( css::script::BasicErrorException ); + SfxItemSet* getCurrentDataSet( ) throw ( css::uno::RuntimeException ); +protected: + virtual ScCellRangesBase* getCellRangesBase() throw ( css::uno::RuntimeException ); public: ScVbaFormat( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext > & xContext, const css::uno::Reference< css::beans::XPropertySet >& _xPropertySet, const css::uno::Reference< css::frame::XModel >& xModel, bool bCheckAmbiguoity ) throw ( css::script::BasicErrorException ); virtual ~ScVbaFormat() {} diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx index b3307ffdc55d..1a153b440b15 100644 --- a/sc/source/ui/vba/vbarange.cxx +++ b/sc/source/ui/vba/vbarange.cxx @@ -238,21 +238,28 @@ uno::Reference< excel::XRange > lcl_makeXRangeFromSheetCellRanges( const uno::Re return xRange; } -ScCellRangeObj* ScVbaRange::getCellRangeObj() throw ( uno::RuntimeException ) +ScCellRangesBase* ScVbaRange::getCellRangesBase() throw ( uno::RuntimeException ) { - uno::Reference< uno::XInterface > xIf; - if ( mxRanges.is() ) - xIf.set( mxRanges, uno::UNO_QUERY_THROW ); - else - xIf.set( mxRange, uno::UNO_QUERY_THROW ); - ScCellRangeObj* pUnoCellRange = dynamic_cast< ScCellRangeObj* >( xIf.get() ); - return pUnoCellRange; + if( mxRanges.is() ) + return ScCellRangesBase::getImplementation( mxRanges ); + if( mxRange.is() ) + return ScCellRangesBase::getImplementation( mxRange ); + throw uno::RuntimeException( rtl::OUString::createFromAscii("General Error creating range - Unknown" ), uno::Reference< uno::XInterface >() ); +} + +ScCellRangeObj* ScVbaRange::getCellRangeObj() throw ( uno::RuntimeException ) +{ + return dynamic_cast< ScCellRangeObj* >( getCellRangesBase() ); +} + +ScCellRangesObj* ScVbaRange::getCellRangesObj() throw ( uno::RuntimeException ) +{ + return dynamic_cast< ScCellRangesObj* >( getCellRangesBase() ); } SfxItemSet* ScVbaRange::getCurrentDataSet( ) throw ( uno::RuntimeException ) { - ScCellRangeObj* pUnoCellRange = getCellRangeObj(); - SfxItemSet* pDataSet = excel::ScVbaCellRangeAccess::GetDataSet( pUnoCellRange ); + SfxItemSet* pDataSet = excel::ScVbaCellRangeAccess::GetDataSet( getCellRangesBase() ); if ( !pDataSet ) throw uno::RuntimeException( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Can't access Itemset for range" ) ), uno::Reference< uno::XInterface >() ); return pDataSet; @@ -3852,25 +3859,6 @@ ScVbaRange::getWorksheet() throw (uno::RuntimeException) return xSheet; } -ScCellRangesBase* -ScVbaRange::getCellRangesBase() throw( uno::RuntimeException ) -{ - ScCellRangesBase* pUnoRangesBase = NULL; - if ( mxRanges.is() ) - { - uno::Reference< uno::XInterface > xIf( mxRanges, uno::UNO_QUERY_THROW ); - pUnoRangesBase = dynamic_cast< ScCellRangesBase* >( xIf.get() ); - } - else if ( mxRange.is() ) - { - uno::Reference< uno::XInterface > xIf( mxRange, uno::UNO_QUERY_THROW ); - pUnoRangesBase = dynamic_cast< ScCellRangesBase* >( xIf.get() ); - } - else - throw uno::RuntimeException( rtl::OUString::createFromAscii("General Error creating range - Unknown" ), uno::Reference< uno::XInterface >() ); - return pUnoRangesBase; -} - // #TODO remove this ugly application processing // Process an application Range request e.g. 'Range("a1,b2,a4:b6") uno::Reference< excel::XRange > @@ -4589,26 +4577,6 @@ ScVbaRange::getValidation() throw (css::uno::RuntimeException) return m_xValidation; } -uno::Any ScVbaRange::getFormulaHidden() throw ( script::BasicErrorException, css::uno::RuntimeException) -{ - SfxItemSet* pDataSet = getCurrentDataSet(); - const ScProtectionAttr& rProtAttr = (const ScProtectionAttr &) - pDataSet->Get(ATTR_PROTECTION, TRUE); - SfxItemState eState = pDataSet->GetItemState(ATTR_PROTECTION, TRUE, NULL); - if(eState == SFX_ITEM_DONTCARE) - return aNULL(); - return uno::makeAny(rProtAttr.GetHideFormula()); - -} -void ScVbaRange::setFormulaHidden(const uno::Any& Hidden) throw ( script::BasicErrorException, css::uno::RuntimeException) -{ - uno::Reference< beans::XPropertySet > xProps(mxRange, ::uno::UNO_QUERY_THROW); - util::CellProtection rCellAttr; - xProps->getPropertyValue(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLPRO))) >>= rCellAttr; - Hidden >>= rCellAttr.IsFormulaHidden; - xProps->setPropertyValue(rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(SC_UNONAME_CELLPRO)), uno::makeAny(rCellAttr)); -} - uno::Any ScVbaRange::getShowDetail() throw ( css::uno::RuntimeException) { // #FIXME, If the specified range is in a PivotTable report diff --git a/sc/source/ui/vba/vbarange.hxx b/sc/source/ui/vba/vbarange.hxx index 89ae741c7535..1f161a79d973 100644 --- a/sc/source/ui/vba/vbarange.hxx +++ b/sc/source/ui/vba/vbarange.hxx @@ -57,6 +57,7 @@ class ScTableSheetsObj; class ScCellRangesBase; class ScCellRangeObj; +class ScCellRangesObj; class ScDocShell; class ScDocument; @@ -111,14 +112,16 @@ class ScVbaRange : public ScVbaRange_BASE virtual css::uno::Any getFormulaValue( formula::FormulaGrammar::Grammar ) throw (css::uno::RuntimeException); virtual void setFormulaValue( const css::uno::Any& aValue, formula::FormulaGrammar::Grammar ) throw ( css::uno::RuntimeException); css::uno::Reference< ov::excel::XRange > getArea( sal_Int32 nIndex ) throw( css::uno::RuntimeException ); - ScCellRangesBase* getCellRangesBase() throw ( css::uno::RuntimeException ); ScCellRangeObj* getCellRangeObj( ) throw ( css::uno::RuntimeException ); - SfxItemSet* getCurrentDataSet( ) throw ( css::uno::RuntimeException ); + ScCellRangesObj* getCellRangesObj() throw ( css::uno::RuntimeException ); css::uno::Reference< ov::XCollection >& getBorders(); void groupUnGroup( bool bUnGroup = false ) throw ( css::script::BasicErrorException, css::uno::RuntimeException ); css::uno::Reference< ov::excel::XRange > PreviousNext( bool bIsPrevious ); css::uno::Reference< ov::excel::XRange > SpecialCellsImpl( sal_Int32 nType, const css::uno::Any& _oValue) throw ( css::script::BasicErrorException ); css::awt::Point getPosition() throw ( css::uno::RuntimeException ); +protected: + virtual ScCellRangesBase* getCellRangesBase() throw ( css::uno::RuntimeException ); + virtual SfxItemSet* getCurrentDataSet( ) throw ( css::uno::RuntimeException ); public: ScVbaRange( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::table::XCellRange >& xRange, sal_Bool bIsRows = false, sal_Bool bIsColumns = false ) throw ( css::lang::IllegalArgumentException ); ScVbaRange( const css::uno::Reference< ov::XHelperInterface >& xParent, const css::uno::Reference< css::uno::XComponentContext >& xContext, const css::uno::Reference< css::sheet::XSheetCellRangeContainer >& xRanges, sal_Bool bIsRows = false, sal_Bool bIsColumns = false ) throw ( css::lang::IllegalArgumentException ); @@ -170,10 +173,6 @@ public: virtual css::uno::Any SAL_CALL getPageBreak() throw (css::uno::RuntimeException); virtual void SAL_CALL setPageBreak( const css::uno::Any& _pagebreak ) throw (css::uno::RuntimeException); virtual css::uno::Reference< ov::excel::XValidation > SAL_CALL getValidation() throw (css::uno::RuntimeException); - virtual css::uno::Any SAL_CALL getFormulaHidden() throw (css::script::BasicErrorException, css::uno::RuntimeException); - virtual void SAL_CALL setFormulaHidden(const css::uno::Any& aHidden) throw (css::script::BasicErrorException, css::uno::RuntimeException); - //virtual css::uno::Any SAL_CALL getLocked() throw (css::script::BasicErrorException, css::uno::RuntimeException); - //virtual void SAL_CALL setLocked(const css::uno::Any& aLocked) throw (css::script::BasicErrorException, css::uno::RuntimeException); virtual css::uno::Any SAL_CALL getShowDetail() throw (css::uno::RuntimeException); virtual void SAL_CALL setShowDetail(const css::uno::Any& aShowDetail) throw (css::uno::RuntimeException); // Methods diff --git a/sc/source/ui/view/cellsh.cxx b/sc/source/ui/view/cellsh.cxx index 6d3f10e2ec5e..a461c54f255e 100644 --- a/sc/source/ui/view/cellsh.cxx +++ b/sc/source/ui/view/cellsh.cxx @@ -42,6 +42,7 @@ #include <svx/hlnkitem.hxx> #include <sfx2/app.hxx> #include <sfx2/bindings.hxx> +#include <sfx2/childwin.hxx> #include <sfx2/objface.hxx> #include <sfx2/request.hxx> #include <sfx2/viewfrm.hxx> @@ -970,6 +971,29 @@ void ScCellShell::GetState(SfxItemSet &rSet) } break; + case SID_SPELL_DIALOG: + { + if ( pDoc && pData && pDoc->IsTabProtected( pData->GetTabNo() ) ) + { + bool bVisible = false; + SfxViewFrame* pViewFrame = ( pTabViewShell ? pTabViewShell->GetViewFrame() : NULL ); + if ( pViewFrame && pViewFrame->HasChildWindow( nWhich ) ) + { + SfxChildWindow* pChild = pViewFrame->GetChildWindow( nWhich ); + Window* pWin = ( pChild ? pChild->GetWindow() : NULL ); + if ( pWin && pWin->IsVisible() ) + { + bVisible = true; + } + } + if ( !bVisible ) + { + rSet.DisableItem( nWhich ); + } + } + } + break; + } // switch ( nWitch ) nWhich = aIter.NextWhich(); } // while ( nWitch ) diff --git a/sc/source/ui/view/cellsh2.cxx b/sc/source/ui/view/cellsh2.cxx index c082c6da375d..086160263739 100644 --- a/sc/source/ui/view/cellsh2.cxx +++ b/sc/source/ui/view/cellsh2.cxx @@ -161,7 +161,7 @@ BOOL lcl_GetSortParam( const ScViewData* pData, ScSortParam& rSortParam ) SCCOL nStartCol = aExternalRange.aStart.Col(); SCROW nEndRow = aExternalRange.aEnd.Row(); SCCOL nEndCol = aExternalRange.aEnd.Col(); - pDoc->GetDataArea( aExternalRange.aStart.Tab(), nStartCol, nStartRow, nEndCol, nEndRow, FALSE ); + pDoc->GetDataArea( aExternalRange.aStart.Tab(), nStartCol, nStartRow, nEndCol, nEndRow, FALSE, false ); aExternalRange.aStart.SetRow( nStartRow ); aExternalRange.aStart.SetCol( nStartCol ); aExternalRange.aEnd.SetRow( nEndRow ); diff --git a/sc/source/ui/view/cellsh3.cxx b/sc/source/ui/view/cellsh3.cxx index 6f6c7057bddf..ed391f154892 100644 --- a/sc/source/ui/view/cellsh3.cxx +++ b/sc/source/ui/view/cellsh3.cxx @@ -244,7 +244,7 @@ void ScCellShell::Execute( SfxRequest& rReq ) { if (nSlot == FID_INPUTLINE_BLOCK) { - pTabViewShell->EnterBlock( String(), pData ); + pTabViewShell->EnterBlock( aString, pData ); } else if ( aString.Len() > 0 && ( aString.GetChar(0) == '=' || aString.GetChar(0) == '+' || aString.GetChar(0) == '-' ) ) { diff --git a/sc/source/ui/view/dbfunc.cxx b/sc/source/ui/view/dbfunc.cxx index 02dfd77f7460..1e5a6b9da4ae 100644 --- a/sc/source/ui/view/dbfunc.cxx +++ b/sc/source/ui/view/dbfunc.cxx @@ -104,7 +104,7 @@ void ScDBFunc::GotoDBArea( const String& rDBName ) // aktuellen Datenbereich fuer Sortieren / Filtern suchen -ScDBData* ScDBFunc::GetDBData( BOOL bMark, ScGetDBMode eMode, bool bShrinkToData ) +ScDBData* ScDBFunc::GetDBData( BOOL bMark, ScGetDBMode eMode, ScGetDBSelection eSel ) { ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScDBData* pData = NULL; @@ -112,27 +112,72 @@ ScDBData* ScDBFunc::GetDBData( BOOL bMark, ScGetDBMode eMode, bool bShrinkToData ScMarkType eMarkType = GetViewData()->GetSimpleArea(aRange); if ( eMarkType == SC_MARK_SIMPLE || eMarkType == SC_MARK_SIMPLE_FILTERED ) { - if (bShrinkToData) + bool bShrinkColumnsOnly = false; + if (eSel == SC_DBSEL_ROW_DOWN) { - // Shrink the range to only include data area. - ScDocument* pDoc = pDocSh->GetDocument(); - SCCOL nCol1 = aRange.aStart.Col(), nCol2 = aRange.aEnd.Col(); - SCROW nRow1 = aRange.aStart.Row(), nRow2 = aRange.aEnd.Row(); - if (pDoc->ShrinkToDataArea(aRange.aStart.Tab(), nCol1, nRow1, nCol2, nRow2)) + // Don't alter row range, additional rows may have been selected on + // purpose to append data, or to have a fake header row. + bShrinkColumnsOnly = true; + // Select further rows only if only one row or a portion thereof is + // selected. + if (aRange.aStart.Row() != aRange.aEnd.Row()) + { + // If an area is selected shrink that to the actual used + // columns, don't draw filter buttons for empty columns. + eSel = SC_DBSEL_SHRINK_TO_USED_DATA; + } + else if (aRange.aStart.Col() == aRange.aEnd.Col()) { - aRange.aStart.SetCol(nCol1); - aRange.aEnd.SetCol(nCol2); - aRange.aStart.SetRow(nRow1); - aRange.aEnd.SetRow(nRow2); + // One cell only, if it is not marked obtain entire used data + // area. + const ScMarkData& rMarkData = GetViewData()->GetMarkData(); + if (!(rMarkData.IsMarked() || rMarkData.IsMultiMarked())) + eSel = SC_DBSEL_KEEP; } } - pData = pDocSh->GetDBData( aRange, eMode, FALSE ); + switch (eSel) + { + case SC_DBSEL_SHRINK_TO_SHEET_DATA: + { + // Shrink the selection to sheet data area. + ScDocument* pDoc = pDocSh->GetDocument(); + SCCOL nCol1 = aRange.aStart.Col(), nCol2 = aRange.aEnd.Col(); + SCROW nRow1 = aRange.aStart.Row(), nRow2 = aRange.aEnd.Row(); + if (pDoc->ShrinkToDataArea( aRange.aStart.Tab(), nCol1, nRow1, nCol2, nRow2)) + { + aRange.aStart.SetCol(nCol1); + aRange.aEnd.SetCol(nCol2); + aRange.aStart.SetRow(nRow1); + aRange.aEnd.SetRow(nRow2); + } + } + break; + case SC_DBSEL_SHRINK_TO_USED_DATA: + case SC_DBSEL_ROW_DOWN: + { + // Shrink the selection to actual used area. + ScDocument* pDoc = pDocSh->GetDocument(); + SCCOL nCol1 = aRange.aStart.Col(), nCol2 = aRange.aEnd.Col(); + SCROW nRow1 = aRange.aStart.Row(), nRow2 = aRange.aEnd.Row(); + if (pDoc->ShrinkToUsedDataArea( aRange.aStart.Tab(), nCol1, nRow1, nCol2, nRow2, bShrinkColumnsOnly)) + { + aRange.aStart.SetCol(nCol1); + aRange.aEnd.SetCol(nCol2); + aRange.aStart.SetRow(nRow1); + aRange.aEnd.SetRow(nRow2); + } + } + break; + default: + ; // nothing + } + pData = pDocSh->GetDBData( aRange, eMode, eSel ); } else if ( eMode != SC_DB_OLD ) pData = pDocSh->GetDBData( ScRange( GetViewData()->GetCurX(), GetViewData()->GetCurY(), GetViewData()->GetTabNo() ), - eMode, FALSE ); + eMode, SC_DBSEL_KEEP ); if ( pData && bMark ) { @@ -290,7 +335,7 @@ void ScDBFunc::ToggleAutoFilter() ScQueryParam aParam; ScDocument* pDoc = GetViewData()->GetDocument(); - ScDBData* pDBData = GetDBData( FALSE ); + ScDBData* pDBData = GetDBData( FALSE, SC_DB_MAKE, SC_DBSEL_ROW_DOWN ); pDBData->SetByRow( TRUE ); //! Undo, vorher abfragen ?? pDBData->GetQueryParam( aParam ); diff --git a/sc/source/ui/view/dbfunc3.cxx b/sc/source/ui/view/dbfunc3.cxx index 406fdab9c824..35befa8f7a36 100755 --- a/sc/source/ui/view/dbfunc3.cxx +++ b/sc/source/ui/view/dbfunc3.cxx @@ -1739,6 +1739,18 @@ void lcl_MoveToEnd( ScDPSaveDimension& rDim, const String& rItemName ) // puts it to the end of the list even if it was in the list before. } +struct ScOUStringCollate +{ + CollatorWrapper* mpCollator; + + ScOUStringCollate(CollatorWrapper* pColl) : mpCollator(pColl) {} + + bool operator()(const rtl::OUString& rStr1, const rtl::OUString& rStr2) const + { + return ( mpCollator->compareString(rStr1, rStr2) < 0 ); + } +}; + bool ScDBFunc::DataPilotSort( const ScAddress& rPos, bool bAscending, sal_uInt16* pUserListId ) { ScDocument* pDoc = GetViewData()->GetDocument(); @@ -1747,7 +1759,8 @@ bool ScDBFunc::DataPilotSort( const ScAddress& rPos, bool bAscending, sal_uInt16 return false; // We need to run this to get all members later. - pDPObj->BuildAllDimensionMembers(); + if ( pUserListId ) + pDPObj->BuildAllDimensionMembers(); USHORT nOrientation; long nDimIndex = pDPObj->GetHeaderDim(rPos, nOrientation); @@ -1766,97 +1779,111 @@ bool ScDBFunc::DataPilotSort( const ScAddress& rPos, bool bAscending, sal_uInt16 if (!pSaveDim) return false; - typedef ScDPSaveDimension::MemberList MemList; - const MemList& rDimMembers = pSaveDim->GetMembers(); - list<OUString> aMembers; - hash_set<OUString, ::rtl::OUStringHash> aMemberSet; - size_t nMemberCount = 0; - for (MemList::const_iterator itr = rDimMembers.begin(), itrEnd = rDimMembers.end(); - itr != itrEnd; ++itr) + // manual evaluation of sort order is only needed if a user list id is given + if ( pUserListId ) { - ScDPSaveMember* pMem = *itr; - aMembers.push_back(pMem->GetName()); - aMemberSet.insert(pMem->GetName()); - ++nMemberCount; - } - - // Sort the member list in ascending order. - aMembers.sort(); + typedef ScDPSaveDimension::MemberList MemList; + const MemList& rDimMembers = pSaveDim->GetMembers(); + list<OUString> aMembers; + hash_set<OUString, ::rtl::OUStringHash> aMemberSet; + size_t nMemberCount = 0; + for (MemList::const_iterator itr = rDimMembers.begin(), itrEnd = rDimMembers.end(); + itr != itrEnd; ++itr) + { + ScDPSaveMember* pMem = *itr; + aMembers.push_back(pMem->GetName()); + aMemberSet.insert(pMem->GetName()); + ++nMemberCount; + } - // Collect and rank those custom sort strings that also exist in the member name list. + // Sort the member list in ascending order. + ScOUStringCollate aCollate( ScGlobal::GetCollator() ); + aMembers.sort(aCollate); - typedef hash_map<OUString, sal_uInt16, OUStringHash> UserSortMap; - UserSortMap aSubStrs; - sal_uInt16 nSubCount = 0; - if (pUserListId) - { - ScUserList* pUserList = ScGlobal::GetUserList(); - if (!pUserList) - return false; + // Collect and rank those custom sort strings that also exist in the member name list. + typedef hash_map<OUString, sal_uInt16, OUStringHash> UserSortMap; + UserSortMap aSubStrs; + sal_uInt16 nSubCount = 0; + if (pUserListId) { - sal_uInt16 n = pUserList->GetCount(); - if (!n || *pUserListId >= n) + ScUserList* pUserList = ScGlobal::GetUserList(); + if (!pUserList) return false; - } - ScUserListData* pData = static_cast<ScUserListData*>((*pUserList)[*pUserListId]); - if (pData) - { - sal_uInt16 n = pData->GetSubCount(); - for (sal_uInt16 i = 0; i < n; ++i) { - OUString aSub = pData->GetSubStr(i); - if (!aMemberSet.count(aSub)) - // This string doesn't exist in the member name set. Don't add this. - continue; + sal_uInt16 n = pUserList->GetCount(); + if (!n || *pUserListId >= n) + return false; + } + + ScUserListData* pData = static_cast<ScUserListData*>((*pUserList)[*pUserListId]); + if (pData) + { + sal_uInt16 n = pData->GetSubCount(); + for (sal_uInt16 i = 0; i < n; ++i) + { + OUString aSub = pData->GetSubStr(i); + if (!aMemberSet.count(aSub)) + // This string doesn't exist in the member name set. Don't add this. + continue; - aSubStrs.insert(UserSortMap::value_type(aSub, nSubCount++)); + aSubStrs.insert(UserSortMap::value_type(aSub, nSubCount++)); + } } } - } - // Rank all members. + // Rank all members. - vector<OUString> aRankedNames(nMemberCount); - sal_uInt16 nCurStrId = 0; - for (list<OUString>::const_iterator itr = aMembers.begin(), itrEnd = aMembers.end(); - itr != itrEnd; ++itr) - { - OUString aName = *itr; - sal_uInt16 nRank = 0; - UserSortMap::const_iterator itrSub = aSubStrs.find(aName); - if (itrSub == aSubStrs.end()) - nRank = nSubCount + nCurStrId++; - else - nRank = itrSub->second; + vector<OUString> aRankedNames(nMemberCount); + sal_uInt16 nCurStrId = 0; + for (list<OUString>::const_iterator itr = aMembers.begin(), itrEnd = aMembers.end(); + itr != itrEnd; ++itr) + { + OUString aName = *itr; + sal_uInt16 nRank = 0; + UserSortMap::const_iterator itrSub = aSubStrs.find(aName); + if (itrSub == aSubStrs.end()) + nRank = nSubCount + nCurStrId++; + else + nRank = itrSub->second; - if (!bAscending) - nRank = static_cast< sal_uInt16 >( nMemberCount - nRank - 1 ); + if (!bAscending) + nRank = static_cast< sal_uInt16 >( nMemberCount - nRank - 1 ); - aRankedNames[nRank] = aName; - } + aRankedNames[nRank] = aName; + } - // Re-order ScDPSaveMember instances with the new ranks. + // Re-order ScDPSaveMember instances with the new ranks. - for (vector<OUString>::const_iterator itr = aRankedNames.begin(), itrEnd = aRankedNames.end(); - itr != itrEnd; ++itr) - { - const ScDPSaveMember* pOldMem = pSaveDim->GetExistingMemberByName(*itr); - if (!pOldMem) - // All members are supposed to be present. - continue; + for (vector<OUString>::const_iterator itr = aRankedNames.begin(), itrEnd = aRankedNames.end(); + itr != itrEnd; ++itr) + { + const ScDPSaveMember* pOldMem = pSaveDim->GetExistingMemberByName(*itr); + if (!pOldMem) + // All members are supposed to be present. + continue; - ScDPSaveMember* pNewMem = new ScDPSaveMember(*pOldMem); - pSaveDim->AddMember(pNewMem); - } + ScDPSaveMember* pNewMem = new ScDPSaveMember(*pOldMem); + pSaveDim->AddMember(pNewMem); + } - // Set the sorting mode to manual for now. We may introduce a new sorting - // mode later on. + // Set the sorting mode to manual for now. We may introduce a new sorting + // mode later on. - sheet::DataPilotFieldSortInfo aSortInfo; - aSortInfo.Mode = sheet::DataPilotFieldSortMode::MANUAL; - pSaveDim->SetSortInfo(&aSortInfo); + sheet::DataPilotFieldSortInfo aSortInfo; + aSortInfo.Mode = sheet::DataPilotFieldSortMode::MANUAL; + pSaveDim->SetSortInfo(&aSortInfo); + } + else + { + // without user list id, just apply sorting mode + + sheet::DataPilotFieldSortInfo aSortInfo; + aSortInfo.Mode = sheet::DataPilotFieldSortMode::NAME; + aSortInfo.IsAscending = bAscending; + pSaveDim->SetSortInfo(&aSortInfo); + } // Update the datapilot with the newly sorted field members. diff --git a/sc/source/ui/view/drawview.cxx b/sc/source/ui/view/drawview.cxx index 311bcf8c24b2..cc09722530ad 100644 --- a/sc/source/ui/view/drawview.cxx +++ b/sc/source/ui/view/drawview.cxx @@ -397,13 +397,13 @@ void ScDrawView::MarkListHasChanged() ScTabViewShell* pViewSh = pViewData->GetViewShell(); - if (!bInConstruct) // nicht wenn die View gerade angelegt wird + // #i110829# remove the cell selection only if drawing objects are selected + if ( !bInConstruct && GetMarkedObjectList().GetMarkCount() ) { - pViewSh->Unmark(); // Selektion auff'm Doc entfernen + pViewSh->Unmark(); // remove cell selection // #65379# end cell edit mode if drawing objects are selected - if ( GetMarkedObjectList().GetMarkCount() ) - SC_MOD()->InputEnterHandler(); + SC_MOD()->InputEnterHandler(); } // IP deaktivieren diff --git a/sc/source/ui/view/gridwin.cxx b/sc/source/ui/view/gridwin.cxx index b8eeb868809e..87740a88e4df 100644 --- a/sc/source/ui/view/gridwin.cxx +++ b/sc/source/ui/view/gridwin.cxx @@ -165,6 +165,7 @@ private: BOOL bInit; BOOL bCancelled; BOOL bInSelect; + bool mbListHasDates; ULONG nSel; ScFilterBoxMode eMode; @@ -188,6 +189,8 @@ public: BOOL IsInInit() const { return bInit; } void SetCancelled() { bCancelled = TRUE; } BOOL IsInSelect() const { return bInSelect; } + void SetListHasDates(bool b) { mbListHasDates = b; } + bool HasDates() const { return mbListHasDates; } }; //------------------------------------------------------------------- @@ -203,6 +206,7 @@ ScFilterListBox::ScFilterListBox( Window* pParent, ScGridWindow* pGrid, bInit( TRUE ), bCancelled( FALSE ), bInSelect( FALSE ), + mbListHasDates(false), nSel( 0 ), eMode( eNewMode ) { @@ -907,7 +911,9 @@ void ScGridWindow::DoAutoFilterMenue( SCCOL nCol, SCROW nRow, BOOL bDataSelect ) pFilterBox->SetSeparatorPos( nDefCount - 1 ); // get list entries - pDoc->GetFilterEntries( nCol, nRow, nTab, aStrings, true ); + bool bHasDates = false; + pDoc->GetFilterEntries( nCol, nRow, nTab, true, aStrings, bHasDates); + pFilterBox->SetListHasDates(bHasDates); // check widths of numerical entries (string entries are not included) // so all numbers are completely visible @@ -1117,7 +1123,7 @@ void ScGridWindow::FilterSelect( ULONG nSel ) ExecDataSelect( nCol, nRow, aString ); break; case SC_FILTERBOX_FILTER: - ExecFilter( nSel, nCol, nRow, aString ); + ExecFilter( nSel, nCol, nRow, aString, pFilterBox->HasDates() ); break; case SC_FILTERBOX_SCENARIO: pViewData->GetView()->UseScenario( aString ); @@ -1150,7 +1156,7 @@ void ScGridWindow::ExecDataSelect( SCCOL nCol, SCROW nRow, const String& rStr ) void ScGridWindow::ExecFilter( ULONG nSel, SCCOL nCol, SCROW nRow, - const String& aValue ) + const String& aValue, bool bCheckForDates ) { SCTAB nTab = pViewData->GetTabNo(); ScDocument* pDoc = pViewData->GetDocument(); @@ -1222,6 +1228,7 @@ void ScGridWindow::ExecFilter( ULONG nSel, rNewEntry.bDoQuery = TRUE; rNewEntry.bQueryByString = TRUE; rNewEntry.nField = nCol; + rNewEntry.bQueryByDate = bCheckForDates; if ( nSel == SC_AUTOFILTER_TOP10 ) { rNewEntry.eOp = SC_TOPVAL; diff --git a/sc/source/ui/view/output2.cxx b/sc/source/ui/view/output2.cxx index 53851f0e3cf0..5a48d0d310d5 100644 --- a/sc/source/ui/view/output2.cxx +++ b/sc/source/ui/view/output2.cxx @@ -53,6 +53,7 @@ #include <editeng/udlnitem.hxx> #include <editeng/unolingu.hxx> #include <svl/zforlist.hxx> +#include <svl/zformat.hxx> #include <vcl/svapp.hxx> #include <vcl/metric.hxx> #include <vcl/outdev.hxx> @@ -74,6 +75,8 @@ #include "scmod.hxx" #include "fillinfo.hxx" +#include <boost/ptr_container/ptr_vector.hpp> + #include <math.h> //! Autofilter-Breite mit column.cxx zusammenfassen @@ -108,6 +111,9 @@ class ScDrawStringsVars String aString; // Inhalte Size aTextSize; long nOriginalWidth; + long nMaxDigitWidth; + long nSignWidth; + long nDotWidth; ScBaseCell* pLastCell; ULONG nValueFormat; @@ -132,7 +138,7 @@ public: void SetPatternSimple( const ScPatternAttr* pNew, const SfxItemSet* pSet ); BOOL SetText( ScBaseCell* pCell ); // TRUE -> pOldPattern vergessen - void SetHashText(); + void SetTextToWidthOrHash( ScBaseCell* pCell, long nWidth ); void SetAutoText( const String& rAutoText ); const ScPatternAttr* GetPattern() const { return pPattern; } @@ -161,6 +167,14 @@ public: pCondSet->GetItemState( ATTR_FONT_HEIGHT, TRUE ); } BOOL HasEditCharacters() const; + +private: + void SetHashText(); + long GetMaxDigitWidth(); + long GetSignWidth(); + long GetDotWidth(); + void TextChanged(); + long ConvertWidthLogicToPixel( long nWidth ) const; }; //================================================================== @@ -176,6 +190,9 @@ ScDrawStringsVars::ScDrawStringsVars(ScOutputData* pData, BOOL bPTL) : nIndent ( 0 ), bRotated ( FALSE ), nOriginalWidth( 0 ), + nMaxDigitWidth( 0 ), + nSignWidth( 0 ), + nDotWidth( 0 ), pLastCell ( NULL ), nValueFormat( 0 ), bLineBreak ( FALSE ), @@ -242,6 +259,10 @@ void ScDrawStringsVars::SetShrinkScale( long nScale, BYTE nScript ) void ScDrawStringsVars::SetPattern( const ScPatternAttr* pNew, const SfxItemSet* pSet, ScBaseCell* pCell, BYTE nScript ) { + nMaxDigitWidth = 0; + nSignWidth = 0; + nDotWidth = 0; + pPattern = pNew; pCondSet = pSet; @@ -393,6 +414,9 @@ void ScDrawStringsVars::SetPattern( const ScPatternAttr* pNew, const SfxItemSet* void ScDrawStringsVars::SetPatternSimple( const ScPatternAttr* pNew, const SfxItemSet* pSet ) { + nMaxDigitWidth = 0; + nSignWidth = 0; + nDotWidth = 0; // wird gerufen, wenn sich die Font-Variablen nicht aendern (!StringDiffer) pPattern = pNew; @@ -467,28 +491,7 @@ BOOL ScDrawStringsVars::SetText( ScBaseCell* pCell ) pLastCell = NULL; // naechstes Mal wieder hierherkommen } - OutputDevice* pRefDevice = pOutput->pRefDevice; - OutputDevice* pFmtDevice = pOutput->pFmtDevice; - aTextSize.Width() = pFmtDevice->GetTextWidth( aString ); - aTextSize.Height() = pFmtDevice->GetTextHeight(); - - if ( !pRefDevice->GetConnectMetaFile() || pRefDevice->GetOutDevType() == OUTDEV_PRINTER ) - { - double fMul = pOutput->GetStretch(); - aTextSize.Width() = (long)(aTextSize.Width() / fMul + 0.5); - } - - aTextSize.Height() = aMetric.GetAscent() + aMetric.GetDescent(); - if ( GetOrient() != SVX_ORIENTATION_STANDARD ) - { - long nTemp = aTextSize.Height(); - aTextSize.Height() = aTextSize.Width(); - aTextSize.Width() = nTemp; - } - - nOriginalWidth = aTextSize.Width(); - if ( bPixelToLogic ) - aTextSize = pRefDevice->LogicToPixel( aTextSize ); + TextChanged(); } // sonst String/Groesse behalten } @@ -508,6 +511,82 @@ void ScDrawStringsVars::SetHashText() SetAutoText( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("###")) ); } +void ScDrawStringsVars::SetTextToWidthOrHash( ScBaseCell* pCell, long nWidth ) +{ + if (!pCell) + return; + + CellType eType = pCell->GetCellType(); + if (eType != CELLTYPE_VALUE && eType != CELLTYPE_FORMULA) + // must be a value or formula cell. + return; + + if (eType == CELLTYPE_FORMULA && !static_cast<ScFormulaCell*>(pCell)->IsValue()) + // If it's formula, the result must be a value. + return; + + ULONG nFormat = GetValueFormat(); + if ((nFormat % SV_COUNTRY_LANGUAGE_OFFSET) != 0) + { + // Not 'General' number format. Set hash text and bail out. + SetHashText(); + return; + } + + double fVal = (eType == CELLTYPE_VALUE) ? + static_cast<ScValueCell*>(pCell)->GetValue() : static_cast<ScFormulaCell*>(pCell)->GetValue(); + + const SvNumberformat* pNumFormat = pOutput->pDoc->GetFormatTable()->GetEntry(nFormat); + if (!pNumFormat) + return; + + long nMaxDigit = GetMaxDigitWidth(); + sal_uInt16 nNumDigits = static_cast<sal_uInt16>(nWidth / nMaxDigit); + + if (!pNumFormat->GetOutputString(fVal, nNumDigits, aString)) + // Failed to get output string. Bail out. + return; + + sal_uInt8 nSignCount = 0, nDecimalCount = 0; + xub_StrLen nLen = aString.Len(); + sal_Unicode cDecSep = ScGlobal::GetpLocaleData()->getLocaleItem().decimalSeparator.getStr()[0]; + for (xub_StrLen i = 0; i < nLen; ++i) + { + sal_Unicode c = aString.GetChar(i); + if (c == sal_Unicode('-')) + ++nSignCount; + else if (c == cDecSep) + ++nDecimalCount; + } + if (nDecimalCount) + nWidth += (nMaxDigit - GetDotWidth()) * nDecimalCount; + if (nSignCount) + nWidth += (nMaxDigit - GetSignWidth()) * nSignCount; + + if (nDecimalCount || nSignCount) + { + // Re-calculate. + nNumDigits = static_cast<sal_uInt16>(nWidth / nMaxDigit); + if (!pNumFormat->GetOutputString(fVal, nNumDigits, aString)) + // Failed to get output string. Bail out. + return; + } + + long nActualTextWidth = pOutput->pFmtDevice->GetTextWidth(aString); + + if (bPixelToLogic) + nActualTextWidth = ConvertWidthLogicToPixel(nActualTextWidth); + + if (nActualTextWidth > nWidth) + { + // Even after the decimal adjustment the text doesn't fit. Give up. + SetHashText(); + return; + } + + TextChanged(); +} + void ScDrawStringsVars::SetAutoText( const String& rAutoText ) { aString = rAutoText; @@ -538,6 +617,80 @@ void ScDrawStringsVars::SetAutoText( const String& rAutoText ) pLastCell = NULL; // derselbe Text kann in der naechsten Zelle wieder passen } +long ScDrawStringsVars::GetMaxDigitWidth() +{ + if (nMaxDigitWidth > 0) + return nMaxDigitWidth; + + sal_Char cZero = '0'; + for (int i = 0; i < 10; ++i) + { + sal_Char cDigit = cZero + i; + long n = pOutput->pFmtDevice->GetTextWidth(String(cDigit)); + nMaxDigitWidth = ::std::max(nMaxDigitWidth, n); + } + + if (bPixelToLogic) + nMaxDigitWidth = ConvertWidthLogicToPixel(nMaxDigitWidth); + return nMaxDigitWidth; +} + +long ScDrawStringsVars::GetSignWidth() +{ + if (nSignWidth > 0) + return nSignWidth; + + nSignWidth = pOutput->pFmtDevice->GetTextWidth(String('-')); + if (bPixelToLogic) + nSignWidth = ConvertWidthLogicToPixel(nSignWidth); + return nSignWidth; +} + +long ScDrawStringsVars::GetDotWidth() +{ + if (nDotWidth > 0) + return nDotWidth; + + const ::rtl::OUString& sep = ScGlobal::GetpLocaleData()->getLocaleItem().decimalSeparator; + nDotWidth = pOutput->pFmtDevice->GetTextWidth(sep); + if (bPixelToLogic) + nDotWidth = ConvertWidthLogicToPixel(nDotWidth); + return nDotWidth; +} + +void ScDrawStringsVars::TextChanged() +{ + OutputDevice* pRefDevice = pOutput->pRefDevice; + OutputDevice* pFmtDevice = pOutput->pFmtDevice; + aTextSize.Width() = pFmtDevice->GetTextWidth( aString ); + aTextSize.Height() = pFmtDevice->GetTextHeight(); + + if ( !pRefDevice->GetConnectMetaFile() || pRefDevice->GetOutDevType() == OUTDEV_PRINTER ) + { + double fMul = pOutput->GetStretch(); + aTextSize.Width() = (long)(aTextSize.Width() / fMul + 0.5); + } + + aTextSize.Height() = aMetric.GetAscent() + aMetric.GetDescent(); + if ( GetOrient() != SVX_ORIENTATION_STANDARD ) + { + long nTemp = aTextSize.Height(); + aTextSize.Height() = aTextSize.Width(); + aTextSize.Width() = nTemp; + } + + nOriginalWidth = aTextSize.Width(); + if ( bPixelToLogic ) + aTextSize = pRefDevice->LogicToPixel( aTextSize ); +} + +long ScDrawStringsVars::ConvertWidthLogicToPixel( long nWidth ) const +{ + Size aSize(nWidth, pOutput->pFmtDevice->GetTextHeight()); + aSize = pOutput->pRefDevice->LogicToPixel(aSize); + return aSize.Width(); +} + BOOL ScDrawStringsVars::HasEditCharacters() const { static const sal_Unicode pChars[] = @@ -919,18 +1072,14 @@ BOOL ScOutputData::IsAvailable( SCCOL nX, SCROW nY ) // bCellIsValue: if set, don't extend into empty cells // bBreak: if set, don't extend, and don't set clip marks (but rLeftClip/rRightClip is set) // bOverwrite: if set, also extend into non-empty cells (for rotated text) -// rAlignRect: output: single or merged cell, used for alignment (visual rectangle) -// rClipRect: output: total output area, for clipping (visual) -// rLeftClip: output: need to clip at rClipRect left (visual) edge -// rRightClip: output: same for right +// rParam output: various area parameters. void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY, - SCCOL nCellX, SCROW nCellY, long nNeeded, - const ScPatternAttr& rPattern, - USHORT nHorJustify, BOOL bCellIsValue, - BOOL bBreak, BOOL bOverwrite, - Rectangle& rAlignRect, Rectangle& rClipRect, - BOOL& rLeftClip, BOOL& rRightClip ) + SCCOL nCellX, SCROW nCellY, long nNeeded, + const ScPatternAttr& rPattern, + USHORT nHorJustify, bool bCellIsValue, + bool bBreak, bool bOverwrite, + OutputAreaParam& rParam ) { // rThisRowInfo may be for a different row than nCellY, is still used for clip marks RowInfo& rThisRowInfo = pRowInfo[nArrY]; @@ -1009,21 +1158,23 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY --nMergeSizeX; // leave out the grid horizontally, also for alignment (align between grid lines) + rParam.mnColWidth = nMergeSizeX; // store the actual column width. + // // construct the rectangles using logical left/right values (justify is called at the end) // // rAlignRect is the single cell or merged area, used for alignment. - rAlignRect.Left() = nCellPosX; - rAlignRect.Right() = nCellPosX + ( nMergeSizeX - 1 ) * nLayoutSign; - rAlignRect.Top() = nCellPosY; - rAlignRect.Bottom() = nCellPosY + nMergeSizeY - 1; + rParam.maAlignRect.Left() = nCellPosX; + rParam.maAlignRect.Right() = nCellPosX + ( nMergeSizeX - 1 ) * nLayoutSign; + rParam.maAlignRect.Top() = nCellPosY; + rParam.maAlignRect.Bottom() = nCellPosY + nMergeSizeY - 1; // rClipRect is all cells that are used for output. // For merged cells this is the same as rAlignRect, otherwise neighboring cells can also be used. - rClipRect = rAlignRect; + rParam.maClipRect = rParam.maAlignRect; if ( nNeeded > nMergeSizeX ) { SvxCellHorJustify eHorJust = (SvxCellHorJustify)nHorJustify; @@ -1064,7 +1215,7 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY ++nRightX; long nAdd = (long) ( pDoc->GetColWidth( nRightX, nTab ) * nPPTX ); nRightMissing -= nAdd; - rClipRect.Right() += nAdd * nLayoutSign; + rParam.maClipRect.Right() += nAdd * nLayoutSign; if ( rThisRowInfo.nRowNo == nCellY && nRightX >= nX1 && nRightX <= nX2 ) rThisRowInfo.pCellInfo[nRightX].bHideGrid = TRUE; @@ -1078,7 +1229,7 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY --nLeftX; long nAdd = (long) ( pDoc->GetColWidth( nLeftX, nTab ) * nPPTX ); nLeftMissing -= nAdd; - rClipRect.Left() -= nAdd * nLayoutSign; + rParam.maClipRect.Left() -= nAdd * nLayoutSign; } } @@ -1089,22 +1240,22 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY rThisRowInfo.pCellInfo[nRightX+1].nClipMark |= SC_CLIPMARK_RIGHT; bAnyClipped = TRUE; long nMarkPixel = (long)( SC_CLIPMARK_SIZE * nPPTX ); - rClipRect.Right() -= nMarkPixel * nLayoutSign; + rParam.maClipRect.Right() -= nMarkPixel * nLayoutSign; } if ( nLeftMissing > 0 && bMarkClipped && nLeftX >= nX1 && nLeftX <= nX2 && !bBreak && !bCellIsValue ) { rThisRowInfo.pCellInfo[nLeftX+1].nClipMark |= SC_CLIPMARK_LEFT; bAnyClipped = TRUE; long nMarkPixel = (long)( SC_CLIPMARK_SIZE * nPPTX ); - rClipRect.Left() += nMarkPixel * nLayoutSign; + rParam.maClipRect.Left() += nMarkPixel * nLayoutSign; } - rLeftClip = ( nLeftMissing > 0 ); - rRightClip = ( nRightMissing > 0 ); + rParam.mbLeftClip = ( nLeftMissing > 0 ); + rParam.mbRightClip = ( nRightMissing > 0 ); } else { - rLeftClip = rRightClip = FALSE; + rParam.mbLeftClip = rParam.mbRightClip = FALSE; // leave space for AutoFilter on screen // (for automatic line break: only if not formatting for printer, as in ScColumn::GetNeededSize) @@ -1120,30 +1271,30 @@ void ScOutputData::GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY // content fits even in the remaining area without the filter button // -> align within that remaining area - rAlignRect.Right() -= nFilter * nLayoutSign; - rClipRect.Right() -= nFilter * nLayoutSign; + rParam.maAlignRect.Right() -= nFilter * nLayoutSign; + rParam.maClipRect.Right() -= nFilter * nLayoutSign; // if a number doesn't fit, don't hide part of the number behind the button // -> set clip flags, so "###" replacement is used (but also within the smaller area) if ( !bFit ) - rLeftClip = rRightClip = TRUE; + rParam.mbLeftClip = rParam.mbRightClip = TRUE; } } } // justify both rectangles for alignment calculation, use with DrawText etc. - rAlignRect.Justify(); - rClipRect.Justify(); + rParam.maAlignRect.Justify(); + rParam.maClipRect.Justify(); #if 0 //! Test !!! pDev->Push(); pDev->SetLineColor(); pDev->SetFillColor( COL_LIGHTGREEN ); - pDev->DrawRect( pDev->PixelToLogic(rClipRect) ); - pDev->DrawRect( rClipRect ); // print preview + pDev->DrawRect( pDev->PixelToLogic(rParam.maClipRect) ); + pDev->DrawRect( rParam.maClipRect ); // print preview pDev->Pop(); //! Test !!! #endif @@ -1164,10 +1315,6 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) ScDrawStringsVars aVars( this, bPixelToLogic ); - const ScPatternAttr* pOldPattern = NULL; - const SfxItemSet* pOldCondSet = NULL; - BYTE nOldScript = 0; - BOOL bProgress = FALSE; long nInitPosX = nScrX; @@ -1184,15 +1331,19 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) --nLoopStartX; // start before nX1 for rest of long text to the left // variables for GetOutputArea + OutputAreaParam aAreaParam; BOOL bCellIsValue = FALSE; - BOOL bLeftClip = FALSE; - BOOL bRightClip = FALSE; long nNeededWidth = 0; - Rectangle aAlignRect; - Rectangle aClipRect; SvxCellHorJustify eOutHorJust = SVX_HOR_JUSTIFY_STANDARD; const ScPatternAttr* pPattern = NULL; const SfxItemSet* pCondSet = NULL; + const ScPatternAttr* pOldPattern = NULL; + const SfxItemSet* pOldCondSet = NULL; + BYTE nOldScript = 0; + + // alternative pattern instances in case we need to modify the pattern + // before processing the cell value. + ::boost::ptr_vector<ScPatternAttr> aAltPatterns; long nPosY = nScrY; for (SCSIZE nArrY=1; nArrY+1<nArrCount; nArrY++) @@ -1330,6 +1481,18 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) pCondSet = pDoc->GetCondResult( nCellX, nCellY, nTab ); } + if (pCell->HasValueData() && + static_cast<const SfxBoolItem&>( + pPattern->GetItem(ATTR_LINEBREAK, pCondSet)).GetValue()) + { + // Disable line break when the cell content is numeric. + aAltPatterns.push_back(new ScPatternAttr(*pPattern)); + ScPatternAttr* pAltPattern = &aAltPatterns.back(); + SfxBoolItem aLineBreak(ATTR_LINEBREAK, false); + pAltPattern->GetItemSet().Put(aLineBreak); + pPattern = pAltPattern; + } + BYTE nScript = GetScriptType( pDoc, pCell, pPattern, pCondSet ); if (nScript == 0) nScript = ScGlobal::GetDefaultScriptType(); if ( pPattern != pOldPattern || pCondSet != pOldCondSet || @@ -1360,6 +1523,7 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) bNeedEdit = aVars.HasEditCharacters() || (bFormulaCell && ((ScFormulaCell*)pCell)->IsMultilineResult()); } + long nTotalMargin = 0; if (bDoCell && !bNeedEdit) { CellType eCellType = pCell->GetCellType(); @@ -1381,14 +1545,17 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) BOOL bRepeat = aVars.IsRepeat() && !bBreak; BOOL bShrink = aVars.IsShrink() && !bBreak && !bRepeat; - long nTotalMargin = (long) ( aVars.GetLeftTotal() * nPPTX ) + - (long) ( aVars.GetMargin()->GetRightMargin() * nPPTX ); + nTotalMargin = + static_cast<long>(aVars.GetLeftTotal() * nPPTX) + + static_cast<long>(aVars.GetMargin()->GetRightMargin() * nPPTX); + nNeededWidth = aVars.GetTextSize().Width() + nTotalMargin; + // GetOutputArea gives justfied rectangles GetOutputArea( nX, nArrY, nPosX, nPosY, nCellX, nCellY, nNeededWidth, - *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), - bCellIsValue || bRepeat || bShrink, bBreak, FALSE, - aAlignRect, aClipRect, bLeftClip, bRightClip ); + *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), + bCellIsValue || bRepeat || bShrink, bBreak, FALSE, + aAreaParam ); if ( bShrink ) { @@ -1398,9 +1565,9 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) // DrawEdit is used to vertically scale 90 deg rotated text. bNeedEdit = TRUE; } - else if ( bLeftClip || bRightClip ) // horizontal + else if ( aAreaParam.mbLeftClip || aAreaParam.mbRightClip ) // horizontal { - long nAvailable = aAlignRect.GetWidth() - nTotalMargin; + long nAvailable = aAreaParam.maAlignRect.GetWidth() - nTotalMargin; long nScaleSize = aVars.GetTextSize().Width(); // without margin if ( nScaleSize > 0 ) // 0 if the text is empty (formulas, number formats) @@ -1424,16 +1591,16 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) // If even at half the size the font still isn't rendered smaller, // fall back to normal clipping (showing ### for numbers). if ( nNewSize <= nAvailable ) - bLeftClip = bRightClip = FALSE; + aAreaParam.mbLeftClip = aAreaParam.mbRightClip = FALSE; pOldPattern = NULL; } } } - if ( bRepeat && !bLeftClip && !bRightClip ) + if ( bRepeat && !aAreaParam.mbLeftClip && !aAreaParam.mbRightClip ) { - long nAvailable = aAlignRect.GetWidth() - nTotalMargin; + long nAvailable = aAreaParam.maAlignRect.GetWidth() - nTotalMargin; long nRepeatSize = aVars.GetTextSize().Width(); // without margin // When formatting for the printer, the text sizes don't always add up. // Round down (too few repetitions) rather than exceeding the cell size then: @@ -1457,13 +1624,13 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) if ( bBreak ) { if ( aVars.GetOrient() == SVX_ORIENTATION_STANDARD ) - bNeedEdit = ( bLeftClip || bRightClip ); + bNeedEdit = ( aAreaParam.mbLeftClip || aAreaParam.mbRightClip ); else { long nHeight = aVars.GetTextSize().Height() + (long)(aVars.GetMargin()->GetTopMargin()*nPPTY) + (long)(aVars.GetMargin()->GetBottomMargin()*nPPTY); - bNeedEdit = ( nHeight > aClipRect.GetHeight() ); + bNeedEdit = ( nHeight > aAreaParam.maClipRect.GetHeight() ); } } } @@ -1479,48 +1646,49 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) } if ( bDoCell ) { - if ( bCellIsValue && ( bLeftClip || bRightClip ) ) + if ( bCellIsValue && ( aAreaParam.mbLeftClip || aAreaParam.mbRightClip ) ) { - aVars.SetHashText(); + // Adjust the decimals to fit the available column width. + aVars.SetTextToWidthOrHash(pCell, aAreaParam.mnColWidth - nTotalMargin); nNeededWidth = aVars.GetTextSize().Width() + (long) ( aVars.GetLeftTotal() * nPPTX ) + (long) ( aVars.GetMargin()->GetRightMargin() * nPPTX ); - if ( nNeededWidth <= aClipRect.GetWidth() ) - bLeftClip = bRightClip = FALSE; + if ( nNeededWidth <= aAreaParam.maClipRect.GetWidth() ) + aAreaParam.mbLeftClip = aAreaParam.mbRightClip = FALSE; // If the "###" replacement doesn't fit into the cells, no clip marks // are shown, as the "###" already denotes too little space. // The rectangles from the first GetOutputArea call remain valid. } - long nJustPosX = aAlignRect.Left(); // "justified" - effect of alignment will be added - long nJustPosY = aAlignRect.Top(); - long nAvailWidth = aAlignRect.GetWidth(); - long nOutHeight = aAlignRect.GetHeight(); + long nJustPosX = aAreaParam.maAlignRect.Left(); // "justified" - effect of alignment will be added + long nJustPosY = aAreaParam.maAlignRect.Top(); + long nAvailWidth = aAreaParam.maAlignRect.GetWidth(); + long nOutHeight = aAreaParam.maAlignRect.GetHeight(); - BOOL bOutside = ( aClipRect.Right() < nScrX || aClipRect.Left() >= nScrX + nScrW ); - if ( aClipRect.Left() < nScrX ) + BOOL bOutside = ( aAreaParam.maClipRect.Right() < nScrX || aAreaParam.maClipRect.Left() >= nScrX + nScrW ); + if ( aAreaParam.maClipRect.Left() < nScrX ) { - aClipRect.Left() = nScrX; - bLeftClip = TRUE; + aAreaParam.maClipRect.Left() = nScrX; + aAreaParam.mbLeftClip = TRUE; } - if ( aClipRect.Right() > nScrX + nScrW ) + if ( aAreaParam.maClipRect.Right() > nScrX + nScrW ) { - aClipRect.Right() = nScrX + nScrW; //! minus one? - bRightClip = TRUE; + aAreaParam.maClipRect.Right() = nScrX + nScrW; //! minus one? + aAreaParam.mbRightClip = TRUE; } - BOOL bHClip = bLeftClip || bRightClip; + BOOL bHClip = aAreaParam.mbLeftClip || aAreaParam.mbRightClip; BOOL bVClip = FALSE; - if ( aClipRect.Top() < nScrY ) + if ( aAreaParam.maClipRect.Top() < nScrY ) { - aClipRect.Top() = nScrY; + aAreaParam.maClipRect.Top() = nScrY; bVClip = TRUE; } - if ( aClipRect.Bottom() > nScrY + nScrH ) + if ( aAreaParam.maClipRect.Bottom() > nScrY + nScrH ) { - aClipRect.Bottom() = nScrY + nScrH; //! minus one? + aAreaParam.maClipRect.Bottom() = nScrY + nScrH; //! minus one? bVClip = TRUE; } @@ -1603,27 +1771,27 @@ void ScOutputData::DrawStrings( BOOL bPixelToLogic ) if (!bHClip) { - aClipRect.Left() = nScrX; - aClipRect.Right() = nScrX+nScrW; + aAreaParam.maClipRect.Left() = nScrX; + aAreaParam.maClipRect.Right() = nScrX+nScrW; } if (!bVClip) { - aClipRect.Top() = nScrY; - aClipRect.Bottom() = nScrY+nScrH; + aAreaParam.maClipRect.Top() = nScrY; + aAreaParam.maClipRect.Bottom() = nScrY+nScrH; } // aClipRect is not used after SetClipRegion/IntersectClipRegion, // so it can be modified here if (bPixelToLogic) - aClipRect = pRefDevice->PixelToLogic( aClipRect ); + aAreaParam.maClipRect = pRefDevice->PixelToLogic( aAreaParam.maClipRect ); if (bMetaFile) { pDev->Push(); - pDev->IntersectClipRegion( aClipRect ); + pDev->IntersectClipRegion( aAreaParam.maClipRect ); } else - pDev->SetClipRegion( Region( aClipRect ) ); + pDev->SetClipRegion( Region( aAreaParam.maClipRect ) ); } Point aURLStart( nJustPosX, nJustPosY ); // copy before modifying for orientation @@ -1827,7 +1995,7 @@ long lcl_GetEditSize( EditEngine& rEngine, BOOL bWidth, BOOL bSwap, long nAttrRo void ScOutputData::ShrinkEditEngine( EditEngine& rEngine, const Rectangle& rAlignRect, long nLeftM, long nTopM, long nRightM, long nBottomM, BOOL bWidth, USHORT nOrient, long nAttrRotate, BOOL bPixelToLogic, - long& rEngineWidth, long& rEngineHeight, long& rNeededPixel, BOOL& rLeftClip, BOOL& rRightClip ) + long& rEngineWidth, long& rEngineHeight, long& rNeededPixel, bool& rLeftClip, bool& rRightClip ) { if ( !bWidth ) { @@ -2149,10 +2317,7 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) nPosY = nScrY; } - Rectangle aAlignRect; - Rectangle aClipRect; - BOOL bLeftClip = FALSE; - BOOL bRightClip = FALSE; + OutputAreaParam aAreaParam; // // Initial page size - large for normal text, cell size for automatic line breaks @@ -2167,27 +2332,39 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) //! handle nArrY == 0 GetOutputArea( nXForPos, nArrYForPos, nPosX, nPosY, nCellX, nCellY, 0, - *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), - bCellIsValue, TRUE, FALSE, - aAlignRect, aClipRect, bLeftClip, bRightClip ); + *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), + bCellIsValue, true, false, aAreaParam ); //! special ScEditUtil handling if formatting for printer if ( eOrient == SVX_ORIENTATION_TOPBOTTOM || eOrient == SVX_ORIENTATION_BOTTOMTOP ) - aPaperSize.Width() = aAlignRect.GetHeight() - nTopM - nBottomM; + aPaperSize.Width() = aAreaParam.maAlignRect.GetHeight() - nTopM - nBottomM; else - aPaperSize.Width() = aAlignRect.GetWidth() - nLeftM - nRightM; + aPaperSize.Width() = aAreaParam.maAlignRect.GetWidth() - nLeftM - nRightM; if (bAsianVertical && bBreak) { // add some extra height (default margin value) for safety // as long as GetEditArea isn't used below long nExtraHeight = (long)( 20 * nPPTY ); - aPaperSize.Height() = aAlignRect.GetHeight() - nTopM - nBottomM + nExtraHeight; + aPaperSize.Height() = aAreaParam.maAlignRect.GetHeight() - nTopM - nBottomM + nExtraHeight; } } if (bPixelToLogic) - pEngine->SetPaperSize(pRefDevice->PixelToLogic(aPaperSize)); + { + Size aLogicSize = pRefDevice->PixelToLogic(aPaperSize); + if ( bBreak && !bAsianVertical && pRefDevice != pFmtDevice ) + { + // #i85342# screen display and formatting for printer, + // use same GetEditArea call as in ScViewData::SetEditEngine + + Fraction aFract(1,1); + Rectangle aUtilRect = ScEditUtil( pDoc, nCellX, nCellY, nTab, Point(0,0), pFmtDevice, + HMM_PER_TWIPS, HMM_PER_TWIPS, aFract, aFract ).GetEditArea( pPattern, FALSE ); + aLogicSize.Width() = aUtilRect.GetWidth(); + } + pEngine->SetPaperSize(aLogicSize); + } else pEngine->SetPaperSize(aPaperSize); @@ -2372,26 +2549,26 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) { // for break, the first GetOutputArea call is sufficient GetOutputArea( nXForPos, nArrYForPos, nPosX, nPosY, nCellX, nCellY, nNeededPixel, - *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), - bCellIsValue || bRepeat || bShrink, FALSE, FALSE, - aAlignRect, aClipRect, bLeftClip, bRightClip ); + *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), + bCellIsValue || bRepeat || bShrink, false, false, aAreaParam ); if ( bShrink ) { BOOL bWidth = ( eOrient == SVX_ORIENTATION_STANDARD && !bAsianVertical ); - ShrinkEditEngine( *pEngine, aAlignRect, + ShrinkEditEngine( *pEngine, aAreaParam.maAlignRect, nLeftM, nTopM, nRightM, nBottomM, bWidth, sal::static_int_cast<USHORT>(eOrient), 0, bPixelToLogic, - nEngineWidth, nEngineHeight, nNeededPixel, bLeftClip, bRightClip ); + nEngineWidth, nEngineHeight, nNeededPixel, + aAreaParam.mbLeftClip, aAreaParam.mbRightClip ); } - if ( bRepeat && !bLeftClip && !bRightClip && pEngine->GetParagraphCount() == 1 ) + if ( bRepeat && !aAreaParam.mbLeftClip && !aAreaParam.mbRightClip && pEngine->GetParagraphCount() == 1 ) { // First check if twice the space for the formatted text is available // (otherwise just keep it unchanged). long nFormatted = nNeededPixel - nLeftM - nRightM; // without margin - long nAvailable = aAlignRect.GetWidth() - nLeftM - nRightM; + long nAvailable = aAreaParam.maAlignRect.GetWidth() - nLeftM - nRightM; if ( nAvailable >= 2 * nFormatted ) { // "repeat" is handled with unformatted text (for performance reasons) @@ -2425,7 +2602,7 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) } } - if ( bCellIsValue && ( bLeftClip || bRightClip ) ) + if ( bCellIsValue && ( aAreaParam.mbLeftClip || aAreaParam.mbRightClip ) ) { pEngine->SetText( String::CreateFromAscii(RTL_CONSTASCII_STRINGPARAM("###")) ); nEngineWidth = (long) pEngine->CalcTextWidth(); @@ -2448,11 +2625,11 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) } } - long nStartX = aAlignRect.Left(); - long nStartY = aAlignRect.Top(); - long nCellWidth = aAlignRect.GetWidth(); + long nStartX = aAreaParam.maAlignRect.Left(); + long nStartY = aAreaParam.maAlignRect.Top(); + long nCellWidth = aAreaParam.maAlignRect.GetWidth(); long nOutWidth = nCellWidth - 1 - nLeftM - nRightM; - long nOutHeight = aAlignRect.GetHeight() - nTopM - nBottomM; + long nOutHeight = aAreaParam.maAlignRect.GetHeight() - nTopM - nBottomM; if ( bBreak || eOrient != SVX_ORIENTATION_STANDARD || bAsianVertical ) { @@ -2472,21 +2649,21 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) nStartX += nLeftM; } - BOOL bOutside = ( aClipRect.Right() < nScrX || aClipRect.Left() >= nScrX + nScrW ); - if ( aClipRect.Left() < nScrX ) + BOOL bOutside = ( aAreaParam.maClipRect.Right() < nScrX || aAreaParam.maClipRect.Left() >= nScrX + nScrW ); + if ( aAreaParam.maClipRect.Left() < nScrX ) { - aClipRect.Left() = nScrX; - bLeftClip = TRUE; + aAreaParam.maClipRect.Left() = nScrX; + aAreaParam.mbLeftClip = true; } - if ( aClipRect.Right() > nScrX + nScrW ) + if ( aAreaParam.maClipRect.Right() > nScrX + nScrW ) { - aClipRect.Right() = nScrX + nScrW; //! minus one? - bRightClip = TRUE; + aAreaParam.maClipRect.Right() = nScrX + nScrW; //! minus one? + aAreaParam.mbRightClip = true; } if ( !bHidden && !bOutside ) { - BOOL bClip = bLeftClip || bRightClip; + bool bClip = aAreaParam.mbLeftClip || aAreaParam.mbRightClip; BOOL bSimClip = FALSE; if ( bWrapFields ) @@ -2495,14 +2672,14 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) bClip = TRUE; } - if ( aClipRect.Top() < nScrY ) + if ( aAreaParam.maClipRect.Top() < nScrY ) { - aClipRect.Top() = nScrY; + aAreaParam.maClipRect.Top() = nScrY; bClip = TRUE; } - if ( aClipRect.Bottom() > nScrY + nScrH ) + if ( aAreaParam.maClipRect.Bottom() > nScrY + nScrH ) { - aClipRect.Bottom() = nScrY + nScrH; //! minus one? + aAreaParam.maClipRect.Bottom() = nScrY + nScrH; //! minus one? bClip = TRUE; } @@ -2554,8 +2731,8 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) bAnyClipped = TRUE; long nMarkPixel = (long)( SC_CLIPMARK_SIZE * nPPTX ); - if ( aClipRect.Right() - nMarkPixel > aClipRect.Left() ) - aClipRect.Right() -= nMarkPixel; + if ( aAreaParam.maClipRect.Right() - nMarkPixel > aAreaParam.maClipRect.Left() ) + aAreaParam.maClipRect.Right() -= nMarkPixel; } } @@ -2579,9 +2756,9 @@ void ScOutputData::DrawEdit(BOOL bPixelToLogic) // Clip marks are already handled in GetOutputArea if (bPixelToLogic) - aLogicClip = pRefDevice->PixelToLogic( aClipRect ); + aLogicClip = pRefDevice->PixelToLogic( aAreaParam.maClipRect ); else - aLogicClip = aClipRect; + aLogicClip = aAreaParam.maClipRect; if (bClip) // bei bSimClip nur aClipRect initialisieren { @@ -3215,10 +3392,7 @@ void ScOutputData::DrawRotated(BOOL bPixelToLogic) // use GetOutputArea to hide the grid // (clip region is done manually below) - BOOL bLeftClip = FALSE; - BOOL bRightClip = FALSE; - Rectangle aAlignRect; - Rectangle aClipRect; + OutputAreaParam aAreaParam; SCCOL nCellX = nX; SCROW nCellY = nY; @@ -3231,8 +3405,7 @@ void ScOutputData::DrawRotated(BOOL bPixelToLogic) GetOutputArea( nX, nArrY, nCellStartX, nPosY, nCellX, nCellY, nNeededWidth, *pPattern, sal::static_int_cast<USHORT>(eOutHorJust), - FALSE, FALSE, TRUE, - aAlignRect, aClipRect, bLeftClip, bRightClip ); + FALSE, FALSE, TRUE, aAreaParam ); if ( bShrink ) { @@ -3240,19 +3413,19 @@ void ScOutputData::DrawRotated(BOOL bPixelToLogic) pRefDevice->LogicToPixel(Size(nEngineWidth,0)).Width() : nEngineWidth; long nNeededPixel = nPixelWidth + nLeftM + nRightM; - bLeftClip = bRightClip = TRUE; + aAreaParam.mbLeftClip = aAreaParam.mbRightClip = TRUE; // always do height - ShrinkEditEngine( *pEngine, aAlignRect, nLeftM, nTopM, nRightM, nBottomM, + ShrinkEditEngine( *pEngine, aAreaParam.maAlignRect, nLeftM, nTopM, nRightM, nBottomM, FALSE, sal::static_int_cast<USHORT>(eOrient), nAttrRotate, bPixelToLogic, - nEngineWidth, nEngineHeight, nNeededPixel, bLeftClip, bRightClip ); + nEngineWidth, nEngineHeight, nNeededPixel, aAreaParam.mbLeftClip, aAreaParam.mbRightClip ); if ( eRotMode == SVX_ROTATE_MODE_STANDARD ) { // do width only if rotating within the cell (standard mode) - ShrinkEditEngine( *pEngine, aAlignRect, nLeftM, nTopM, nRightM, nBottomM, + ShrinkEditEngine( *pEngine, aAreaParam.maAlignRect, nLeftM, nTopM, nRightM, nBottomM, TRUE, sal::static_int_cast<USHORT>(eOrient), nAttrRotate, bPixelToLogic, - nEngineWidth, nEngineHeight, nNeededPixel, bLeftClip, bRightClip ); + nEngineWidth, nEngineHeight, nNeededPixel, aAreaParam.mbLeftClip, aAreaParam.mbRightClip ); } // nEngineWidth/nEngineHeight is updated in ShrinkEditEngine @@ -3306,19 +3479,19 @@ void ScOutputData::DrawRotated(BOOL bPixelToLogic) } if (bPixelToLogic) - aClipRect = pRefDevice->PixelToLogic( Rectangle( + aAreaParam.maClipRect = pRefDevice->PixelToLogic( Rectangle( Point(nClipStartX,nClipStartY), aClipSize ) ); else - aClipRect = Rectangle(Point(nClipStartX, nClipStartY), + aAreaParam.maClipRect = Rectangle(Point(nClipStartX, nClipStartY), aClipSize ); // Scale = 1 if (bMetaFile) { pDev->Push(); - pDev->IntersectClipRegion( aClipRect ); + pDev->IntersectClipRegion( aAreaParam.maClipRect ); } else - pDev->SetClipRegion( Region( aClipRect ) ); + pDev->SetClipRegion( Region( aAreaParam.maClipRect ) ); } Point aLogicStart; diff --git a/sc/source/ui/view/spelldialog.cxx b/sc/source/ui/view/spelldialog.cxx index 8ff816263b4f..a178b0a0ada6 100644 --- a/sc/source/ui/view/spelldialog.cxx +++ b/sc/source/ui/view/spelldialog.cxx @@ -200,7 +200,12 @@ void ScSpellDialogChildWindow::Init() ScEditableTester aTester( mpDoc, rMarkData ); if( !aTester.IsEditable() ) { - mpViewShell->ErrorMessage( aTester.GetMessageId() ); + // #i85751# Don't show a ErrorMessage here, because the vcl + // parent of the InfoBox is not fully initialized yet. + // This leads to problems in the modality behaviour of the + // ScSpellDialogChildWindow. + + //mpViewShell->ErrorMessage( aTester.GetMessageId() ); return; } } diff --git a/sc/source/ui/view/tabview3.cxx b/sc/source/ui/view/tabview3.cxx index 304a858fa21f..750e49ec2334 100644 --- a/sc/source/ui/view/tabview3.cxx +++ b/sc/source/ui/view/tabview3.cxx @@ -1423,7 +1423,7 @@ void ScTabView::MarkDataArea( BOOL bIncludeCursor ) SCCOL nEndCol = nStartCol; SCROW nEndRow = nStartRow; - pDoc->GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, bIncludeCursor ); + pDoc->GetDataArea( nTab, nStartCol, nStartRow, nEndCol, nEndRow, bIncludeCursor, false ); HideAllCursors(); DoneBlockMode(); diff --git a/sc/source/ui/view/tabvwshc.cxx b/sc/source/ui/view/tabvwshc.cxx index 74a824a709d6..7d1cbb05761b 100644 --- a/sc/source/ui/view/tabvwshc.cxx +++ b/sc/source/ui/view/tabvwshc.cxx @@ -175,7 +175,7 @@ SfxModelessDialog* ScTabViewShell::CreateRefDialog( SCITEM_QUERYDATA, SCITEM_QUERYDATA ); - ScDBData* pDBData = GetDBData(); + ScDBData* pDBData = GetDBData( TRUE, SC_DB_MAKE, SC_DBSEL_ROW_DOWN); pDBData->GetQueryParam( aQueryParam ); ScQueryItem aItem( SCITEM_QUERYDATA, GetViewData(), &aQueryParam ); @@ -200,7 +200,7 @@ SfxModelessDialog* ScTabViewShell::CreateRefDialog( SCITEM_QUERYDATA, SCITEM_QUERYDATA ); - ScDBData* pDBData = GetDBData(); + ScDBData* pDBData = GetDBData( TRUE, SC_DB_MAKE, SC_DBSEL_ROW_DOWN); pDBData->GetQueryParam( aQueryParam ); aArgSet.Put( ScQueryItem( SCITEM_QUERYDATA, diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx index 5fcd094acffc..11ecfa5aae8c 100644 --- a/sc/source/ui/view/viewfun2.cxx +++ b/sc/source/ui/view/viewfun2.cxx @@ -87,6 +87,13 @@ #include "docuno.hxx" #include "charthelper.hxx" +#include <basic/sbstar.hxx> +#include <com/sun/star/container/XNameContainer.hpp> +#include <com/sun/star/script/XLibraryContainer.hpp> +using namespace com::sun::star; + +// helper func defined in docfunc.cxx +void VBA_DeleteModule( ScDocShell& rDocSh, String& sModuleName ); // STATIC DATA --------------------------------------------------------------- @@ -2141,6 +2148,7 @@ BOOL ScViewFunc::DeleteTables(const SvShorts &TheTabs, BOOL bRecord ) { ScDocShell* pDocSh = GetViewData()->GetDocShell(); ScDocument* pDoc = pDocSh->GetDocument(); + BOOL bVbaEnabled = pDoc ? pDoc->IsInVBAMode() : FALSE; SCTAB nNewTab = TheTabs[0]; int i; WaitObject aWait( GetFrameWin() ); @@ -2212,9 +2220,18 @@ BOOL ScViewFunc::DeleteTables(const SvShorts &TheTabs, BOOL bRecord ) for(i=TheTabs.Count()-1;i>=0;i--) { + String sCodeName; + BOOL bHasCodeName = pDoc->GetCodeName( TheTabs[sal::static_int_cast<USHORT>(i)], sCodeName ); if (pDoc->DeleteTab( TheTabs[sal::static_int_cast<USHORT>(i)], pUndoDoc )) { bDelDone = TRUE; + if( bVbaEnabled ) + { + if( bHasCodeName ) + { + VBA_DeleteModule( *pDocSh, sCodeName ); + } + } pDocSh->Broadcast( ScTablesHint( SC_TAB_DELETED, TheTabs[sal::static_int_cast<USHORT>(i)] ) ); } } diff --git a/sc/source/ui/view/viewfun5.cxx b/sc/source/ui/view/viewfun5.cxx index 794ee488afed..9697cae3a57e 100644 --- a/sc/source/ui/view/viewfun5.cxx +++ b/sc/source/ui/view/viewfun5.cxx @@ -387,7 +387,7 @@ BOOL ScViewFunc::PasteDataFormat( ULONG nFormatId, // Creation of database area "Import1" isn't here, but in the DocShell // slot execute, so it can be added to the undo action - ScDBData* pDBData = pDocSh->GetDBData( ScRange(nPosX,nPosY,nTab), SC_DB_OLD, FALSE ); + ScDBData* pDBData = pDocSh->GetDBData( ScRange(nPosX,nPosY,nTab), SC_DB_OLD, SC_DBSEL_KEEP ); String sTarget; if (pDBData) sTarget = pDBData->GetName(); diff --git a/sc/uiconfig/scalc/menubar/menubar.xml b/sc/uiconfig/scalc/menubar/menubar.xml index 27406a350617..949b1a10b619 100644 --- a/sc/uiconfig/scalc/menubar/menubar.xml +++ b/sc/uiconfig/scalc/menubar/menubar.xml @@ -109,8 +109,8 @@ </menu:menu> <menu:menu menu:id=".uno:ViewMenu"> <menu:menupopup> - <menu:menuitem menu:id=".uno:NormalViewMode"/> - <menu:menuitem menu:id=".uno:PagebreakMode"/> + <menu:menuitem menu:id=".uno:NormalViewMode" menu:style="radio"/> + <menu:menuitem menu:id=".uno:PagebreakMode" menu:style="radio"/> <menu:menuseparator/> <menu:menuitem menu:id=".uno:AvailableToolbars"/> <menu:menuitem menu:id=".uno:InputLineVisible"/> @@ -248,21 +248,21 @@ <menu:menuseparator/> <menu:menu menu:id=".uno:AnchorMenu"> <menu:menupopup> - <menu:menuitem menu:id=".uno:SetAnchorToPage"/> - <menu:menuitem menu:id=".uno:SetAnchorToCell"/> + <menu:menuitem menu:id=".uno:SetAnchorToPage" menu:style="radio"/> + <menu:menuitem menu:id=".uno:SetAnchorToCell" menu:style="radio"/> </menu:menupopup> </menu:menu> <menu:menu menu:id=".uno:ObjectAlign"> <menu:menupopup> - <menu:menuitem menu:id=".uno:CommonAlignHorizontalDefault"/> - <menu:menuitem menu:id=".uno:CommonAlignLeft"/> - <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter"/> - <menu:menuitem menu:id=".uno:CommonAlignRight"/> - <menu:menuitem menu:id=".uno:CommonAlignJustified"/> + <menu:menuitem menu:id=".uno:CommonAlignHorizontalDefault" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignLeft" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignHorizontalCenter" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignRight" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignJustified" menu:style="radio"/> <menu:menuseparator/> - <menu:menuitem menu:id=".uno:CommonAlignTop"/> - <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter"/> - <menu:menuitem menu:id=".uno:CommonAlignBottom"/> + <menu:menuitem menu:id=".uno:CommonAlignTop" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignVerticalCenter" menu:style="radio"/> + <menu:menuitem menu:id=".uno:CommonAlignBottom" menu:style="radio"/> </menu:menupopup> </menu:menu> <menu:menu menu:id=".uno:ArrangeMenu"> diff --git a/sc/util/hidother.src b/sc/util/hidother.src index 48dfebdf5c2c..ffdb5c329399 100644 --- a/sc/util/hidother.src +++ b/sc/util/hidother.src @@ -81,6 +81,7 @@ hidspecial HID_SC_APPEND_NAME { HelpID = HID_SC_APPEND_NAME; }; hidspecial HID_SC_AUTOFMT_NAME { HelpID = HID_SC_AUTOFMT_NAME; }; hidspecial HID_SC_ADD_AUTOFMT { HelpID = HID_SC_ADD_AUTOFMT; }; hidspecial HID_SC_REN_AFMT_NAME { HelpID = HID_SC_REN_AFMT_NAME; }; +hidspecial HID_SC_REN_AFMT_DLG { HelpID = HID_SC_REN_AFMT_DLG; }; hidspecial HID_SC_RENAME_AUTOFMT { HelpID = HID_SC_RENAME_AUTOFMT; }; hidspecial HID_PASSWD_TABLE { HelpID = HID_PASSWD_TABLE; }; hidspecial HID_PASSWD_DOC { HelpID = HID_PASSWD_DOC; }; diff --git a/sc/util/makefile.mk b/sc/util/makefile.mk index fa1361c9f794..b7b12e07ee6a 100644 --- a/sc/util/makefile.mk +++ b/sc/util/makefile.mk @@ -71,7 +71,6 @@ SHL1IMPLIB= sci # dynamic libraries SHL1STDLIBS= \ - $(VBAHELPERLIB) \ $(BASICLIB) \ $(SFXLIB) \ $(SVTOOLLIB) \ @@ -139,7 +138,7 @@ LIB4FILES= \ SHL2TARGET= scd$(DLLPOSTFIX) SHL2IMPLIB= scdimp -SHL2VERSIONMAP= scd.map +SHL2VERSIONMAP=$(SOLARENV)/src/component.map SHL2DEF=$(MISC)$/$(SHL2TARGET).def DEF2NAME= $(SHL2TARGET) @@ -288,7 +287,7 @@ TARGET_VBA=vbaobj SHL9TARGET=$(TARGET_VBA)$(DLLPOSTFIX).uno SHL9IMPLIB= i$(TARGET_VBA) -SHL9VERSIONMAP=$(TARGET_VBA).map +SHL9VERSIONMAP=$(SOLARENV)/src/component.map SHL9DEF=$(MISC)$/$(SHL9TARGET).def DEF9NAME=$(SHL9TARGET) .IF "$(VBA_EXTENSION)"=="YES" diff --git a/sc/util/sc.map b/sc/util/sc.map deleted file mode 100644 index bfd1401a7685..000000000000 --- a/sc/util/sc.map +++ /dev/null @@ -1,8 +0,0 @@ -SC_1_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; diff --git a/sc/util/scd.map b/sc/util/scd.map deleted file mode 100644 index bfd1401a7685..000000000000 --- a/sc/util/scd.map +++ /dev/null @@ -1,8 +0,0 @@ -SC_1_0 { - global: - component_getImplementationEnvironment; - component_writeInfo; - component_getFactory; - local: - *; -}; diff --git a/sc/util/scfilt.map b/sc/util/scfilt.map index 589736f24eb1..642b8db15088 100644 --- a/sc/util/scfilt.map +++ b/sc/util/scfilt.map @@ -1,4 +1,4 @@ -SCFILT_1_0 { +UDK_3_0_0 { global: ScFilterCreate; local: diff --git a/sc/util/scui.map b/sc/util/scui.map index f40bd255fe1d..ad5e33836c7c 100644 --- a/sc/util/scui.map +++ b/sc/util/scui.map @@ -1,4 +1,4 @@ -SWUI_1_0 { +UDK_3_0_0 { global: CreateDialogFactory; local: diff --git a/sc/util/vbaobj.map b/sc/util/vbaobj.map deleted file mode 100644 index 737cddbfe3df..000000000000 --- a/sc/util/vbaobj.map +++ /dev/null @@ -1,9 +0,0 @@ -OOO_1.1 { - global: - component_getImplementationEnvironment; - component_getFactory; - component_writeInfo; - - local: - *; -}; |